网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

详解基于.NET的用户处理机制

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12

  基于.net的principal、identity接口的用户处理机制。
  
  SiteIdentity.cs
  
  using System;
  using System.Text;
  using System.Collections;
  using System.Security.Cryptography;
  
  namespace ContextUser
  {
  /// <summary>
  /// SiteIdentity 的摘要说明。
  /// </summary>
  public class SiteIdentity: System.Security.Principal.IIdentity
  {
  private string userName;
  private string emailAddress;
  private int userID;
  
  
  public SiteIdentity(string currentUserName )
  {
  userName = currentUserName;
  emailAddress = "test@msn.com";
  userID =1;
  }
  public string AuthenticationType
  {
  get
  {
  return "Custom Authentication";
  }
  set
  {
  // do nothing
  }
  }
  
  public bool IsAuthenticated
  {
  get
  {
  // assumption: all instances of a SiteIdentity have already
  // been authenticated.
  return true;
  }
  }
  
  public string Name
  {
  get
  {
  return userName;
  }
  }
  public string EmailAddress
  {
  get
  {
  return emailAddress;
  }
  }
  
  public int UserID
  {
  get
  {
  return userID;
  }
  }
  
  }
  }
  
  SitePrincipal.cs
  
  using System;
  using System.Collections;
  using System.Security;
  using System.Security.Cryptography;
  
  namespace ContextUser
  {
  /// <summary>
  /// SitePrincipal 的摘要说明。
  /// </summary>
  public class SitePrincipal: System.Security.Principal.IPrincipal
  {
  protected System.Security.Principal.IIdentity identity;
  protected ArrayList permissionList;//许可动态数组
  protected ArrayList roleList;//角色动态数组
  
  
  public System.Security.Principal.IIdentity Identity
  {
  get
  {
  return identity;
  }
  set
  {
  identity = value;
  }
  }
  
  public SitePrincipal( string username )//构造函数逻辑
  {
  
  identity = new SiteIdentity( username );
  
  roleList = new ArrayList();//添加角色数组 以后可以用从数据库获取数值代替
  roleList.Add("Admin");
  roleList.Add("123");
  
  permissionList = new ArrayList();
  permissionList.Add(2);
  
  //permissionList = dataUser.GetEffectivePermissionList( userID );
  //roleList = dataUser.GetUserRoles( userID );
  }
  
  public static SitePrincipal ValidateLogin(string username, string password)//验证登陆
  {
  
  if(username == "1111111" && password == "1111111")//可以用从数据库验证替代
  {
  return new SitePrincipal( username );
  }
  
  else
  
  {
  return null;
  }
  
  }
  
  public bool IsInRole(string role)
  {
  return roleList.Contains( role );
  }
  
  public bool HasPermission( int permissionID )
  {
  return permissionList.Contains( permissionID );
  }
  
  public ArrayList Roles
  {
  get
  {
  return roleList;
  }
  }
  
  public ArrayList Permissions
  {
  get
  {
  return permissionList;
  }
  }
  
  }
  }
  
  
  下面继承page 用于需要验证的页面继承
  
  BasePage.cs
  
  using System;
  using System.Web;
  using System.Web.U

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号