我现在一个后台管理系统,在管理用户登录和权限这个模块的设计中。。背景:
我没有采用.net自带的成员资格管理的功能。议题:
我想完全采用OOP的思想来做用户登录和权限管理,而不用Session来做
请大家给我一个建设性方案来很安全很干净的管理登录和权限控制模块?
我没有采用.net自带的成员资格管理的功能。议题:
我想完全采用OOP的思想来做用户登录和权限管理,而不用Session来做
请大家给我一个建设性方案来很安全很干净的管理登录和权限控制模块?
难道要在每个页面都用page_load()中用If ( ) else....?
有没有跟好的方法?
应该蛮多的吧
public class PrivaligUser
{
public static bool UserLogin();
Public static bool UserLogout(); public static bool IsUserLogin();
public static User GetUser();
public static String GetUserName();
}
然后在page_load中,
if(PrivaligUser.IsUserLogin())
{
//登录成功
}
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
{
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
}这个是基类 public class BasePage : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (this.Session["user"] != null)
{
try
{
if(this.Session["user"]!=null)
{
//判断用户登录问题
User oUser = this.Session["user"] as User;
if(oUser != null)
{
string sUserName = oUser.UserName;
}
}
}
catch (Exception ex)
{
RedirectError(ex.Message);
}
}
else
{
RedirectError("用户信息丢失!");
}
}
}
在第一次登录的时候建立一下session就好了
如
protected void Page_Load(object sender, EventArgs e)
{
User oUser = new User();
oUser.UserName = "123";
oUser.IP="127.0.0.1";
this.Session["user"] = oUser;
}//以后的别的页面继承BasePage 去同一管理用户
---------
你有什么证据证明成员资格不是OOP的?OOP和Session没有任何关系...正如24楼所言...你想写一个超越成员资格的东西...可能性几乎没有...