永发信息网

asp.net 用户验证的方式

答案:2  悬赏:0  手机版
解决时间 2021-02-18 11:38
请问下个asp.net 中的用户验证方式,一种是修改web.config 的form实现,还有一种和以前的asp差不多的session实现,请问一下这两种方式哪种好些?大家一般用的是哪一种?
最佳答案
一般都用自带的验证机制首先在config中配置相关的节//配置身份票,登陆后才可访问//session的保存的位置为本地//配置必须经过的页面,cookie的 Name,缺省页面,存活时间(分) //拒绝匿名用户,否则该安全身份验证模式不起作用这样不管他进入那个页面都会去你配置的那个页面去登陆,除非有身份票,在下面就是在用户登陆成功后给她个身份票了,就一句FormsAuthentication.SetAuthCookie(UserName, true);//FormsAuthentication是系统的类这样用户就可以登陆了,这样会自动创建一个非加密的Cookie,虽然有时间限制,但安全级别很低如果你还想学习那么就看下边,手写加密Cookie类代码如下:public class UserLoginManager:Page{/// /// 添加用户身份到Cookie中,并加密/// /// public void AuthenticationUsers(string username){FormsAuthenticationTicket tichet = new FormsAuthenticationTicket(1, username, DateTime.Now, DateTime.Now.AddHours(24), true, "");string hashTicket = FormsAuthentication.Encrypt(tichet);HttpCookie userCookie = new HttpCookie(FormsAuthentication.FormsCookieName);userCookie.Value = hashTicket;userCookie.Expires = tichet.Expiration;userCookie.Domain = FormsAuthentication.CookieDomain;HttpContext.Current.Response.Cookies.Add(userCookie);}}
全部回答

一般都用自带的验证机制

首先在config中配置相关的节

//配置身份票,登陆后才可访问

<!--

通过 <authentication> 节可以配置 asp.net 使用的

安全身份验证模式,

以标识传入的用户。

-->

//session的保存的位置为本地

<sessionstate mode="inproc"></sessionstate>

<authentication mode="forms">

//配置必须经过的页面,cookie的 name,缺省页面,存活时间(分)

<forms loginurl="login.aspx" name="hotel" defaulturl="default.aspx" timeout="60">

</forms>

</authentication>

//拒绝匿名用户,否则该安全身份验证模式不起作用

<authorization>

<deny users="?"/>

</authorization>

这样不管他进入那个页面都会去你配置的那个页面去登陆,除非有身份票,在下面就是在用户登陆成功后给她个身份票了,就一句

formsauthentication.setauthcookie(username, true);

//formsauthentication是系统的类这样用户就可以登陆了,这样会自动创建一个非加密的cookie,虽然有时间限制,但安全级别很低如果你还想学习那么就看下边,手写加密cookie类

代码如下:

public class userloginmanager:page

{

/// <summary>

/// 添加用户身份到cookie中,并加密

/// </summary>

/// <param name="username"></param>

public void authenticationusers(string username)

{

formsauthenticationticket tichet = new formsauthenticationticket(1, username, datetime.now, datetime.now.addhours(24), true, "");

string hashticket = formsauthentication.encrypt(tichet);

httpcookie usercookie = new httpcookie(formsauthentication.formscookiename);

usercookie.value = hashticket;

usercookie.expires = tichet.expiration;

usercookie.domain = formsauthentication.cookiedomain;

httpcontext.current.response.cookies.add(usercookie);

}

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
y字开头英文名
从通州区结研所到朝阳区北苑路欧陆经典8号楼
张涧供销社超市我想知道这个在什么地方
锦江乐园附近高层电梯房房价是多少
交院驾校训练场这个地址在什么地方,我要处理
微店该怎么火
智联招聘那SB广告为啥这么多捏?
网上买电影票是要自己挑选座位,还是进去随便
小型肉食性恐龙怎样捕食 群起而攻之合围捕猎
阿里之门超市在哪里啊,我有事要去这个地方
SVU那款性能好省油
王某应聘到某施工单位,双方于4月15日签订为
下列说法:①16的4次方根是2;② 4 16
所言甚是什么意思
打字的时候asdw也就是上下左右键不好使。玩游
推荐资讯
12V带TL494C,KA7500,IC324,双变压器逆变电路
艺翔美术培训这个地址在什么地方,我要处理点
杭州生小孩可以报销多少
装了独立显卡后集成显卡后还占内存吗
表示有上进心的群名称
比和比例的意义有什么区别?区别尽量说详细.
香甜宾馆这个地址在什么地方,我要处理点事
新撰组四大恶人都是谁?
赤峰学院第二附属医院协作门诊在哪里啊,我有
2007年4月以来,太湖流域部分水域大规模暴发
下了一个LOL,准备安装时出现“16位程序使用
lady gaga的冠军单曲是哪几首
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?