读书人

高分放送又一个讨论有关问题

发布时间: 2012-03-04 11:13:34 作者: rapoo

高分放送,又一个讨论问题
我现在一个后台管理系统,在管理用户登录和权限这个模块的设计中。。

背景:
我没有采用.net自带的成员资格管理的功能。

议题:
我想完全采用OOP的思想来做用户登录和权限管理,而不用Session来做
请大家给我一个建设性方案来很安全很干净的管理登录和权限控制模块?


[解决办法]
http://blog.csdn.net/sw515/archive/2004/10/23/148257.aspx
[解决办法]
如果你每一个页面都要判断,那你可以,自定义一个page类,所以要判断的页面都继承于你的自定义page类

如:
public class MyBasePage:System.Web.UI.Page
{
public override void Page_Load(object sender, EventArgs e)
{
if(PrivaligUser.IsUserLogin())
{
//登录成功
}
else
{
Response.Redirect("~/login.aspx");
}
}
}




然后所有页面中,都继续于这个类就行
[解决办法]

探讨
如果你每一个页面都要判断,那你可以,自定义一个page类,所以要判断的页面都继承于你的自定义page类

如:
public class MyBasePage:System.Web.UI.Page
{
public override void Page_Load(object sender, EventArgs e)
{
if(PrivaligUser.IsUserLogin())
{
//登录成功
}
else
{
Response.Redirect("~/login.aspx");
}
}
}


然后所有页面中,都继续于这个类就行

[解决办法]
通过角色设置用户权限
http://www.cnblogs.com/b4n73/archive/2009/01/09/1372404.html
http://www.cnblogs.com/nehu/archive/2005/06/20/177942.aspx
[解决办法]
这个是用户类,记录用户登陆信息
C# code
public class User    {        public User(string mUserCode ,string mUserName,string mIp)  //构造器        {            sUserCode = mUserCode;            sUserName = mUserName;            sIp = mIp;        }        #region 私有变量        private string sUserCode;        private string sUserName;        private string sIp;        #endregion        #region 属性定义        public string UserCode        {            get { return sUserCode; }            set { sUserCode = value; }        }        public string UserName        {            get { return sUserName; }            set { sUserName = value; }        }        public string IP        {            get { return sIp; }            set { sIp = value; }        }        #endregion     }
[解决办法]
你就完全自己抄一次ASP.NET 2.0置的MembershipProvider和RolesProvider好了,那就是最佳的OO方案了——展性好,不包括冗的功能,同能方便定足不通景的需求。

在大多情下,想要自己一西去超越Microsoft的,那是不的。人好了,你想要,那就真好了。
[解决办法]
我想完全采用OOP的思想来做用户登录和权限管理,而不用Session来做
---------
你有什么证据证明成员资格不是OOP的?OOP和Session没有任何关系...

正如24楼所言...你想写一个超越成员资格的东西...可能性几乎没有...

读书人网 >asp.net

热点推荐