2012-11-30 55 views
0

我试图在SharePoint中实现一个Web视图Web部件,该部件将加载我在本地IIS上托管的一个小'widget'y类型的东西。我希望只向特定用户展示此Web部件,但不能使用Sharepoint的“目标受众”功能,因为我们只使用Foundation,但功能不存在。Windows身份验证 - 防止弹出?

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

这是可能使用Windows身份验证,或者我需要使用窗体身份验证对Active Directory,并使他们使用窗体登录?表单身份验证可以配置为无缝地使用AD组,并且只有在“拒绝”时才显示登录页面?

干杯

回答

0

试图约一百万个不同的解决方案,基本上都导致回的问题后.. 这是一个痛苦的检查,如果用户通过验证发送401错误之前 - 因为有一个初始401发送到浏览器,然后提示它进行认证..

我想出了一个快速和肮脏的解决方案,因为该项目是很小,不值得投资更多。

我放在一个很简单的像这样检查page_load事件,如果它不是postba,则检查用户名ck(第一次加载),如果未找到静态用户列表,则重定向。与真相相去甚远,但它会做的。

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

      } 
     }