【问题标题】:How do I display a message in an Asp.NET Forms Authentication redirect?如何在 Asp.NET Forms 身份验证重定向中显示消息?
【发布时间】:2010-03-03 18:33:12
【问题描述】:

我有一个使用表单身份验证的 Web 应用程序,并且我限制了一个文件夹,以便只有具有管理员角色的人才能访问它。我通过 web.config 文件控制所有这些,并添加适当的位置标签来限制访问。

目前该应用程序运行良好。如果我以用户身份登录并单击管理部分的链接,我将再次被重定向到登录页面。如果我查看 URL,ReturnUrl 参数设置正确。

我想做的是向用户显示一条消息,表明安全权限不足,或者类似的东西,这样用户就不会认为他们过早地退出了应用程序或应用程序没有不工作。

有人知道怎么做吗?

【问题讨论】:

    标签: asp.net forms-authentication


    【解决方案1】:

    您可以重定向到显示警告框的页面,然后(在客户端上)重定向到您想要访问的页面。


    我没有提供示例代码,因为我现在没有时间把它弄好。这是错误的代码:

    if (FormsAuthentication.Authenticate(userName, passWord))
    {
        Response.Redirect("alertPage.html?ReturnUrl=" + Request.QueryString["ReturnUrl"]);
    }
    

    在 alertPage.html 上:

    <script language="javascript">
        alert('Some message');
        window.navigator.location = // get the URL and use it
    </script>
    

    【讨论】:

    • 有什么方法可以在那个答案上扔一点示例代码?我很确定我会关注你,但我不是 100% 确定。
    • @Dillie-O:我认为这很明显!
    • 嗯,也许我应该更新一下文本。我忘记提及的一件事是我正在使用 web.config 文件控制对管理部分的访问。这会改变一切吗?
    • @Dillie-O: 不,这意味着您需要将此 .html 文件放在站点的 /unsecured 部分,并在 web.config 中使用 &lt;location&gt; 标记以允许匿名访问/不安全。
    猜你喜欢
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 2016-01-20
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    相关资源
    最近更新 更多