AD認證模式下如何通過表單登入來代替WINDOWS快顯視窗的方法

來源:互聯網
上載者:User

MOSS用那麼久了,有人採用AD認證,有人採用FORM認證,我們公司是採用中間的替換方法,因為採用FORM認證個人覺得還是不是太方便,例如需要開兩個連接埠等。個人有個做法把經驗共用給大家,如果做得不對或者有更好的辦法的話,可以聯絡我。

 

1.原因

為什麼要進行表單登入,預設MOSS採用AD認證,是因為使用者預設儲存為AD,如果有人要把使用者和以前的系統進行結合的方式,那麼請採用正規的FORM認證進行開發。

我今天要講的是AD認證,AD認證有個不好的方式就是彈出對話方塊,介面不友好,例如我要在介面上放一個忘記密碼的方式是完全做不到的。

 

1.png (28.73 K)2008-4-2 19:46:08

</P>

現在教大家一種採用表單進行提交的簡單方法。其實這個辦法很早的時候十一就搞過,不複雜,我只是稍微完善了一下。

 

1.首先採用匿名訪問。

  1.1IIS開啟匿名訪問。

2.png (11.46 K)2008-4-2 19:46:40

</P>

  1.2檢查器提供者需要開啟。操作方式:管理中心--》應用程式管理--》應用程式安全性--》檢查器提供者--》預設

 

3.png (18.17 K)2008-4-2 19:46:56

</P>

  1.3開啟網站匿名訪問。操作為:網站操作--》進階許可權--》設定--》匿名訪問,如下

4.png (18.57 K)2008-4-2 19:47:22

<BR></P>

2.設定登入介面

我們需要開發一個登入介面。輸入使用者。密碼。

5.png (215.05 K)2008-4-2 19:49:53

</

這個登入介面可以放在_LAYOUTS/目錄底下。

登入介面代碼請見附件。

需要改幾個地址如下:

http://www.cnblogs.com/sharepoint/test/default.aspx 這個介面是需要驗證的介面(預設網站已經開了匿名,只需要驗證到其他一個非匿名訪問的地址即可)

http://10.49.28.7  這個是我們要返回的介面

如果還不清楚的。可以訪問http://keji.lickies.cn 查看。

 

3.登入後自動跳轉到登入介面的方式,因為我們已經開放了匿名,預設我們是可以進去的,那麼我們需要增加一段程式,判斷如果AD使用者為空白的話則跳轉到登入介面。

我們採用一個辦法是在MASTERPAGE裡增加一個USERCONTROL

 

如何做呢?開啟預設的在12/TEMPLATE/GLOBRAL/DEFAULT.MASTER(如果有改過則到SPD裡找)

<%@ Register TagPrefix="wssuc" TagName="Welcome" src="~/_controltemplates/Welcome.ascx" %>

下增加
<%@ Register TagPrefix="wssuc" TagName="login" Src="~/_controltemplates/chklogin9.ascx" %>

 

在<BODY scroll="yes" onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();">

下增加

<wssuc:login id="chklogin" runat="server" EnableViewState="false"></wssuc:login>

可能很多人在問CHKLOGIN.ascx是啥。

就是我們的使用者控制項,,,這個檔案如下。附件可以下載。。

 

<%@ Control Language="C#" Inherits="Microsoft.SharePoint.ApplicationPages.WebControls.ActionBar,Microsoft.

SharePoint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"    compilationMode="Always" %>
<%@ Register Tagprefix="wssawc" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral,

PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%

if(HttpContext.Current.User.Identity.Name.ToString()=="")
{
    Response.Redirect("/_layouts/web/login.aspx");
}

%>

請把這個檔案放到c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES下即可。

大概寫了一下。有問題的話,大家QQ群聯絡。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.