我的申请表中有两页。
一个是登录用户说Default.asp
和
其他对于SingleSignon说sso.aspx
如果用户通过单点登录并且会话过期以重定向到Default.aspx
,用户可以输入用户名和密码并单击登录。
如果用户通过SSO页面,我想在default.aspx页面上显示不同的面板。
我尝试创建Cookie但知道成功。因为我必须在页面加载上检查cookie并在页面加载时设置它并相应地隐藏面板。
我可以使用Session_Start
并检查并设置它来自SSO页面或默认页面的Cookie天气,或者有不同的方法来执行此操作。
答案 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查询字符串参数,以显示或隐藏您的面板。