如何通过登录页面或sso页面确定用户

时间:2015-09-17 04:53:45

标签: c# asp.net

我的申请表中有两页。

一个是登录用户说Default.asp
其他对于SingleSignon说sso.aspx

如果用户通过单点登录并且会话过期以重定向到Default.aspx,用户可以输入用户名和密码并单击登录。

如果用户通过SSO页面,我想在default.aspx页面上显示不同的面板。

我尝试创建Cookie但知道成功。因为我必须在页面加载上检查cookie并在页面加载时设置它并相应地隐藏面板。

我可以使用Session_Start并检查并设置它来自SSO页面或默认页面的Cookie天气,或者有不同的方法来执行此操作。

2 个答案:

答案 0 :(得分:3)

在使用ASP.NET时,您可以在Page Load中使用以下两个选项。 选项1 Request.ServerVariables["HTTP_REFERER"] 虽然注意上述内容,浏览器可以阻止该值(空值)。

选项:2 您可以查看当前Request.UrlReferrer的{​​{1}}:它通常包含用户来自的位置(取决于浏览器)。

参考: how do I determine where the user came from in asp.net?

https://msdn.microsoft.com/en-us/library/system.web.httprequest.urlreferrer%28v=vs.110%29.aspx

答案 1 :(得分:0)

Session_Start事件不适合这类事情。 Session_start在用户首次进入您的应用程序时运行,将其视为首页加载。

您可以使用查询字符串参数来确定用户重定向的位置。

例如,如果用户从sso.aspx重定向到default.aspx,请使用这样的url:

的Default.aspx?|上一页= SSO

然后,检查default.aspx上的previouspage查询字符串参数,以显示或隐藏您的面板。