.net配置authentication实现全局验证

公司有个.net语言开发的系统,没天理的竟然没有做全局验证,导致公司通讯录的组织架构暴露在外面。

没办法,n年前的前辈们留下的坑,只好踩上了。

部门专家级高手提出方案:给系统增加单点登录逻辑,让每一个请求都到登录逻辑验证。具体的做法是:1、用户登录时,记录他的登录状态;2、其它的请求,若用户已登录,则顺利请求;若未登录,则请求失败。


代码有两部分。

1、在web.config配置文件增加author配置:

<authentication mode="Forms" >
  <forms name="casauth" loginUrl="login.aspx" />
</authentication>
<authorization>
  <deny users="?" />
</authorization>

这个模块是在System.web里面,可能这里配置了之后,在全局配置里面还要修改授权方式为Forms。

2、在登录逻辑里面:

Session["UserName"] = userName;   
FormsAuthentication.RedirectFromLoginPage(userName, false);
第一条语句表示把某个信息放进缓存,好让登录后的请求有所依靠。第二条语句应该是重定向到真正的请求去。

上述做法是根据特定业务逻辑下所做的,已经能够实现对全部请求进行拦截验证,但它并不是真正的单点登录,只是借鉴了下单点登录的做法。在.net下配置cas单点登录,可访问http://lib.iteye.com/blog/166619进行查看,该博主写的很不错,我就是参照他的帖子来做的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值