我正在开发一个基于asp.net的大型应用程序。某些页面&链接需要用户身份验证在某些页面上,我有链接和表单提交,我首先需要对用户进行身份验证。这是一个例子:
在PageX中,我有一个链接L1。当用户单击时,我检查用户是否经过身份验证。如果不是,我重定向到登录页面。一旦用户通过身份验证,我就会将其重定向回到PageX。但问题是,我不希望用户再次点击L1!相反,我希望在用户通过身份验证并显示其结果等后执行L1操作。
我正在努力找到解决这个问题的好方法。有关如何实现这一点的任何想法?
答案 0 :(得分:2)
ASP.NET的Forms Authentication解决了这种情况。您可以拒绝所有未经身份验证的用户访问所有页面,或者(更常见地)拒绝未经身份验证的用户访问适当的页面子集。
答案 1 :(得分:1)
它已经融入了ASP.NET,并且正是您正在谈论的内容。
用户将点击链接。如果未经过身份验证,则会将其重定向到登录页面(页面的其中一个参数将是他们尝试访问的目标网址)。成功登录后,用户将被重定向到他们请求的页面,而不必再次点击该链接。
您还需要确保将web.config设置为正确允许/拒绝未授权访问您的应用程序,如下所述:
Setting authorization rules for a particular page or folder in Web.config
答案 2 :(得分:1)
有几种方法可以做到:
1,表单身份验证的内置方式,如果我记得错误,请更正我,您应该能够添加自己的登录逻辑并将您的登录控件与表单身份验证提供程序集成
2,如果用户未登录,则将L1 url链接分配给查询字符串或会话,并为登录控件添加逻辑,登录成功后重定向用户。