在CommunityServer中,有些页面是只有管理员才能使用的,因此这些页面需要特别的身份验证。
    对于这类页面,CommunityServer采用了一个页面基类,其他所有的类都继承于这个基类,在这个基类中对用户的身份进行验证。
 下面是这个基类的源代码:

//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System;
using CommunityServer.Blogs.Controls;
using CommunityServer.Blogs.Components;
using CommunityServer.Components;
namespace CommunityServer.Blogs.Controls
{
    
/// <summary>
    
/// Provides access/security check to restrict only blog owners/admin from using the the current weblog
    
/// </summary>
    public abstract class WeblogAdminTemplatedWebControl : WeblogTemplatedWebControl
    {
        
public WeblogAdminTemplatedWebControl()
        {
          
        }

        
/// <summary>
        
/// Overrides Authorize and validates the current users has write access to this blogs content
        
/// </summary>
        
/// <param name="w"></param>
        protected override void Authorize(Weblog w)
        {
            
base.Authorize (w);

            
if(CurrentUser.IsAnonymous)
                
throw new CSException(CSExceptionType.AccessDenied,"Anonymous Blog Posting Access");

            
if(!CurrentUser.IsBlogAdministrator)
                Permissions.AccessCheck(w,Permission.Post,CurrentUser);
            
        }

  

    }
}

下面是类WeblogAdminTemplatedWebControl的渊源






下面是所有继承于WeblogAdminTemplatedWebControl类的WebControl类:


    /// <summary>
    
/// Displays an interface for managing a blog's comments and traceback.
    
/// </summary>
    public class BlogFeedbackAdmin : WeblogAdminTemplatedWebControl 

    
public class BlogSettingsAdmin : WeblogAdminTemplatedWebControl 

    
/// <summary>
    
/// Summary description for CategoryManager.
    
/// </summary>
    public class CategoryEditor : WeblogAdminTemplatedWebControl

    
/// <summary>
    
/// Summary description for CategoryManager.
    
/// </summary>
    public class CategoryManager : WeblogAdminTemplatedWebControl

    
public class ContentList : WeblogAdminTemplatedWebControl 

    
/// <summary>
    
/// Enables creating and editing WeblogPosts
    
/// </summary>
    public class CreateEditBlogPost : WeblogAdminTemplatedWebControl 

    
/// <summary>
    
/// Summary description for ManageBlogRoll.
    
/// </summary>
    public class ManageBlogRoll : WeblogAdminTemplatedWebControl

    
public class WeblogPermissionAdmin : WeblogAdminTemplatedWebControl 


    
/// <summary>
    
/// Summary description for WeblogReferralList.
    
/// </summary>
    public class WeblogReferralList : WeblogAdminTemplatedWebControl

    
/// <summary>
    
/// 日志共享到论坛
    
/// </summary>
    public class WeblogPostToForumPost : WeblogAdminTemplatedWebControl 

posted on 2006-03-27 17:03  今夜太冷  阅读(296)  评论(0)    收藏  举报