【问题标题】:Windows Authentication - prevent popup?Windows 身份验证 - 防止弹出?
【发布时间】:2012-11-30 01:30:03
【问题描述】:

我正在尝试在 sharepoint 中实现一个 web-view web 部件,它将加载我在本地 IIS 上托管的一个小型“widget”类型的东西。我希望只向特定用户展示此 Web 部件,但不能使用 Sharepoint 的“目标受众”功能,因为我们只使用 Foundation 并且该功能不存在。

我目前正在尝试在页面上使用 Windows 身份验证,并且它对于允许的用户无缝地工作正常 - 但是,我希望有一种方法,如果用户被拒绝,他们不会收到要求的弹出窗口凭据,它只会将它们重定向到空白页面,因此 Web 部件对它们“不显示”。

这是否可以使用 Windows 身份验证,还是我需要针对 Active Directory 使用表单身份验证并让他们使用表单登录?表单身份验证是否可以配置为无缝使用 AD 组并仅在“拒绝”时显示登录页面?

干杯

【问题讨论】:

    标签: asp.net windows forms authentication iis


    【解决方案1】:

    在尝试了大约一百万种不同的解决方案之后,这些解决方案基本上都导致了...... 在发送 401 错误之前检查用户是否经过身份验证是一件很痛苦的事情 - 因为有一个初始的 401 发送到浏览器,然后会提示它进行身份验证..

    我想出了一个快速而肮脏的解决方案,因为这个项目很小,不值得投入太多。

    我像这样在 page_load 事件中放置了一个非常简单的检查,如果它不是回发(首次加载),则检查用户名,如果找不到静态用户列表,则重定向。远非完美,但它会做到的。

    if (!Page.IsPostBack)
            {
                var user = Request.LogonUserIdentity.Name.ToLower().ToString();
                if (user != "domain\\user")
                {
                    Response.Redirect("/path/to/redirect/to.html");
    
                }
            }
    

    【讨论】:

      猜你喜欢
      • 2015-12-16
      • 2013-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-21
      • 1970-01-01
      相关资源
      最近更新 更多