This post explains How To Create Custom Login Web Part In SharePoint 2010 For Forms Based Authentication FBA.
Before creating Login WebPart we need to setup and configure Membership Provider Database and Forms Based Authentication(FBA) In SharePoint 2010 and can optionally Allow Anonymous Access to sharepoint web application and sites collection.
1. Create Visual Web Part In Visual Studio 2010
Open VS 2010 and create new project by selecting New > Project from File Menu
Choose SharePoint 2010 in left pane and select Empty SharePoint Project, name it LoginWebPart.
Select Deploy as a farm solution option from next screen and click on finish
Right click on solution explorer and select Add > New Item
Choose Visual Web Part from the list and name it LoginWebPart
2. Add Reference To Assemblies
2a. Add reference to Microsoft.SharePoint.IdentityModel.dll
Right click on Refrences in solution explorer, select add reference and browse to
C:\Windows\assembly\GAC_MSIL\Microsoft.SharePoint.IdentityModel\14.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.IdentityModel.dll
2b. Add reference to Microsoft.IdentityModel.dll
Select add reference and browse to
C:\Program Files\Reference Assemblies\Microsoft\Windows Identity Foundation\v3.5\Microsoft.IdentityModel.dll
2c. Add reference toSystem.IdentityModel.dll
Browse to C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.IdentityModel.dll
2d. Add Microsoft.SharePoint.IdentityModel assembly reference in Page Directive of LoginWebPartUserControl.ascx
3. Place Login Control on the LoginWebPartUserControl
HTML SOURCE
4. Go to Code behind of user control and add following reference
Write following code in Login1_Authenticate Event of Login Control
Build and Deploy Solution by clicking on Build Menu and select Deploy Solution From Visual Studio
5. Open SharePoint site in browser and login with administrator account
Click on Site Actions and Select Edit Page
Click on Insert and select Web Part from the top ribbon
Select Custom from Categories And select LoginWebPart, Click on Add and Save And Close
Hope this helps
Before creating Login WebPart we need to setup and configure Membership Provider Database and Forms Based Authentication(FBA) In SharePoint 2010 and can optionally Allow Anonymous Access to sharepoint web application and sites collection.
1. Create Visual Web Part In Visual Studio 2010
Open VS 2010 and create new project by selecting New > Project from File Menu
Choose SharePoint 2010 in left pane and select Empty SharePoint Project, name it LoginWebPart.
Select Deploy as a farm solution option from next screen and click on finish
Right click on solution explorer and select Add > New Item
Choose Visual Web Part from the list and name it LoginWebPart
2. Add Reference To Assemblies
2a. Add reference to Microsoft.SharePoint.IdentityModel.dll
Right click on Refrences in solution explorer, select add reference and browse to
C:\Windows\assembly\GAC_MSIL\Microsoft.SharePoint.IdentityModel\14.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.IdentityModel.dll
2b. Add reference to Microsoft.IdentityModel.dll
Select add reference and browse to
C:\Program Files\Reference Assemblies\Microsoft\Windows Identity Foundation\v3.5\Microsoft.IdentityModel.dll
2c. Add reference toSystem.IdentityModel.dll
Browse to C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.IdentityModel.dll
2d. Add Microsoft.SharePoint.IdentityModel assembly reference in Page Directive of LoginWebPartUserControl.ascx
3. Place Login Control on the LoginWebPartUserControl
HTML SOURCE
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.SharePoint.IdentityModel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities"
Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI"
Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages"
Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LoginWebPartUserControl.ascx.cs"
Inherits="LoginWebPart.LoginWebPart.LoginWebPartUserControl" %>
<asp:Login ID="Login1" runat="server"
FailureText="<%$ Resources:wss,login_pageFailureText %>"
onauthenticate="Login1_Authenticate">
</asp:Login>
4. Go to Code behind of user control and add following reference
1
using
System;
2
using
System.Web.UI;
3
using
System.Web.UI.WebControls;
4
using
Microsoft.SharePoint.IdentityModel;
5
using
Microsoft.SharePoint;
6
using
Microsoft.SharePoint.Utilities;
7
using
System.IdentityModel.Tokens;
Write following code in Login1_Authenticate Event of Login Control
01
protected
void
Login1_Authenticate(
object
sender, AuthenticateEventArgs e)
02
{
03
string
membership =
"MembershipProvider"
;
04
string
role =
"RoleProvider"
;
05
06
e.Authenticated = SPClaimsUtility.AuthenticateFormsUser(
new
Uri(SPContext.Current.Web.Url),Login1.UserName,Login1.Password);
07
08
if
(!e.Authenticated)
return
;
09
10
SecurityToken token = SPSecurityContext.SecurityTokenForFormsAuthentication(
new
Uri(SPContext.Current.Web.Url), membership, role, Login1.UserName, Login1.Password);
11
if
(token ==
null
)
12
{
13
14
e.Authenticated =
false
;
15
return
;
16
}
17
else
18
{
19
20
SPFederationAuthenticationModule module = SPFederationAuthenticationModule.Current;
21
module.SetPrincipalAndWriteSessionToken(token);
22
e.Authenticated =
true
;
23
24
SPUtility.Redirect(SPContext.Current.Web.Url, SPRedirectFlags.Trusted,
this
.Context);
25
26
}
27
}
Build and Deploy Solution by clicking on Build Menu and select Deploy Solution From Visual Studio
5. Open SharePoint site in browser and login with administrator account
Click on Site Actions and Select Edit Page
Click on Insert and select Web Part from the top ribbon
Select Custom from Categories And select LoginWebPart, Click on Add and Save And Close
Hope this helps
22:09
|
Category:
|
0
comments
Comments ( 0 )