asp.net forms身份验证,避免重复造轮子身份验证,避免重复造轮子
最近开始一个小 asp.net 项目,整个项目需要登录才能操作。以前大家都采用 asp 的方式 session + cookie 来
实现身份验证,我一直对 asp.net 自带的 forms 验证早就耳闻,苦于没实践,今天刚好逮到机会实际应用一下。
问题:大家都说使用 forms 验证无法得到当前登录用户除了用户名之外的更多信息,经过我的一番小试验,在 forms 方式下自
带的 userdata 可以为我们施展天地的地方。下面记录一下我的操作步骤备忘。
step 1: web.config 配置关键地方:
web.config配置
复制代码 代码如下:
<!--
通过 <authentication> 节可以配置 ASP.NET 用来
识别进入用户的
安全身份验证模式。
-->
<authentication mode="Forms">
<forms loginUrl="login.aspx" defaultUrl="index.aspx"
name=".ztinfozero" path="/Manager"
slidingExpiration="true" timeout="10"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
step 2: 构造 SiteUser Model
复制代码 代码如下:
TopicUser Model
[Serializable]
public class TopicUser
{
public TopicUser() { }
model#region model
private System.Int32 _autoID;
/**//// <summary>
///
/// </summary>
public System.Int32 autoID
{
get { return _autoID; }
set { _autoID = value; }
}
private System.String _UserName;
/**//// <summary>
/// 用户名
/// </summary>
public System.String UserName
{
get { return _UserName; }
set { _UserName = value; }
}
private System.String _UserChName;
/**//// <summary>
/// 真实姓名
/// </summary>
public System.String UserChName
{
get { return _UserChName; }
set { _UserChName = value; }
}
private System.String _UserPass;
/**//// <summary>
///
/// </summary>
public System.String UserPass
{