I have been working on this project for almost a week now. I have forms auth working on the aspsqlnet database that the regsql wizard created, but I really need to get it to authenticate against an existing database with 1000's of users that my company runs off of. I've written my custom membership provider, written a class to connect to the sql database and even configured the web.config file but things just don't seem to work. I'm going to paste my code, but I'd also ask that someone posts up the entire web.config and the membership provider class.
Also, can you tell me where to put the CustomMembershipProvider.cs file in the sharepoint directory, and how to make sharepoint to read from it?In my failed VB tests it was in App_code but there is no such folder in sharepoint.
Third, should I be able to interact using the Website-> ASPNET configuration tool? I'm so lost there is no useful documentation anywhere out there.
<b>MembershipProvider.cs file</b>
1 using System;
2 using System.Data;
3 using System.Data.SqlClient;
4 using System.Data.OleDb;
5 using System.Data.Odbc;
6 using System.Configuration;
7 using System.Web;
8 using System.Web.Security;
9 using System.Web.UI;
10 using System.Web.UI.WebControls;
11 using System.Web.UI.WebControls.WebParts;
12 using System.Web.UI.HtmlControls;
13 using TreoSolutions.Data;
14
15 /// <summary>
16 /// Summary description for TreoMembershipProvider
17 /// </summary>
18 public class TreoMembershipProvider:MembershipProvider
19 {
20 public TreoMembershipProvider()
21 {
22 //
23 // TODO: Add constructor logic here
24 //
25 }
26
27 public override string ApplicationName
28 {
29 get
30 {
31 throw new Exception("The method or operation is not implemented.");
32 }
33 set
34 {
35 throw new Exception("The method or operation is not implemented.");
36 }
37 }
38
39 public override bool ChangePassword(string username, string oldPassword, string newPassword)
40 {
41 throw new Exception("The method or operation is not implemented.");
42 }
43
44 public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer)
45 {
46 throw new Exception("The method or operation is not implemented.");
47 }
48
49 public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
50 {
51 throw new Exception("The method or operation is not implemented.");
52 }
53
54 public override bool DeleteUser(string username, bool deleteAllRelatedData)
55 {
56 throw new Exception("The method or operation is not implemented.");
57 }
58
59 public override bool EnablePasswordReset
60 {
61 get { throw new Exception("The method or operation is not implemented."); }
62 }
63
64 public override bool EnablePasswordRetrieval
65 {
66 get { throw new Exception("The method or operation is not implemented."); }
67 }
68
69 public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords)
70 {
71 throw new Exception("The method or operation is not implemented.");
72 }
73
74 public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords)
75 {
76 throw new Exception("The method or operation is not implemented.");
77 }
78
79 public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords)
80 {
81 throw new Exception("The method or operation is not implemented.");
82 }
83
84 public override int GetNumberOfUsersOnline()
85 {
86 throw new Exception("The method or operation is not implemented.");
87 }
88
89 public override string GetPassword(string username, string answer)
90 {
91 throw new Exception("The method or operation is not implemented.");
92 }
93
94 public override MembershipUser GetUser(string username, bool userIsOnline)
95 {
96 throw new Exception("The method or operation is not implemented.");
97 }
98
99 public override MembershipUser GetUser(object providerUserKey, bool userIsOnline)
100 {
101 throw new Exception("The method or operation is not implemented.");
102 }
103
104 public override string GetUserNameByEmail(string email)
105 {
106 throw new Exception("The method or operation is not implemented.");
107 }
108
109 public override int MaxInvalidPasswordAttempts
110 {
111 get { throw new Exception("The method or operation is not implemented."); }
112 }
113
114 public override int MinRequiredNonAlphanumericCharacters
115 {
116 get { throw new Exception("The method or operation is not implemented."); }
117 }
118
119 public override int MinRequiredPasswordLength
120 {
121 get { throw new Exception("The method or operation is not implemented."); }
122 }
123
124 public override int PasswordAttemptWindow
125 {
126 get { throw new Exception("The method or operation is not implemented."); }
127 }
128
129 public override MembershipPasswordFormat PasswordFormat
130 {
131 get { throw new Exception("The method or operation is not implemented."); }
132 }
133
134 public override string PasswordStrengthRegularExpression
135 {
136 get { throw new Exception("The method or operation is not implemented."); }
137 }
138
139 public override bool RequiresQuestionAndAnswer
140 {
141 get { throw new Exception("The method or operation is not implemented."); }
142 }
143
144 public override bool RequiresUniqueEmail
145 {
146 get { throw new Exception("The method or operation is not implemented."); }
147 }
148
149 public override string ResetPassword(string username, string answer)
150 {
151 throw new Exception("The method or operation is not implemented.");
152 }
153
154 public override bool UnlockUser(string userName)
155 {
156 throw new Exception("The method or operation is not implemented.");
157 }
158
159 public override void UpdateUser(MembershipUser user)
160 {
161 throw new Exception("The method or operation is not implemented.");
162 }
163
164 public override bool ValidateUser(string username, string password)
165 {
166 SQLData TreoData = null;
167 DataTable UserActivity = null;
168
169 TreoData = new SQLData();
170 UserActivity = TreoData.GetData("Select * FROM [user] WHERE email = '"+username+"' AND password = '"+password+"'");
171 if( UserActivity == null )
172 return false;
173 else
174 return true;
175
176
177 }
178 }
179
<b>Sharepoint Web.config file</b>
1
2 <configuration>
3 <configSections>
4 <sectionGroup name="SharePoint">
5 <section name="SafeControls" type="Microsoft.SharePoint.ApplicationRuntime.SafeControlsConfigurationHandler, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
6 <section name="RuntimeFilter" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
7 <section name="WebPartLimits" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
8 <section name="WebPartCache" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
9 <section name="WebPartWorkItem" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
10 <section name="WebPartControls" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
11 <section name="SafeMode" type="Microsoft.SharePoint.ApplicationRuntime.SafeModeConfigurationHandler, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
12 <section name="MergedActions" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
13 <section name="PeoplePickerWildcards" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
14 </sectionGroup>
15 <sectionGroup name="System.Workflow.ComponentModel.WorkflowCompiler" type="System.Workflow.ComponentModel.Compiler.WorkflowCompilerConfigurationSectionGroup, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
16 <section name="authorizedTypes" type="System.Workflow.ComponentModel.Compiler.AuthorizedTypesSectionHandler, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
17 </sectionGroup>
18 </configSections>
19 <SharePoint>
20 <SafeMode MaxControls="200" CallStack="true" DirectFileDependencies="10" TotalFileDependencies="50" AllowPageLevelTrace="false">
21 <PageParserPaths>
22 </PageParserPaths>
23 </SafeMode>
24 <WebPartLimits MaxZoneParts="50" PropertySize="1048576" />
25 <WebPartCache Storage="CacheObject" />
26 <WebPartControls DatasheetControlGuid="65BCBEE4-7728-41a0-97BE-14E1CAE36AAE" />
27 <SafeControls>
28 <SafeControl Assembly="System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="System.Web.UI.WebControls" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
29 <SafeControl Assembly="System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="System.Web.UI.HtmlControls" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
30 <SafeControl Assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="System.Web.UI" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
31 <SafeControl Assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="System.Web.UI.WebControls" TypeName="SqlDataSource" Safe="False" AllowRemoteDesigner="False" />
32 <SafeControl Assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="System.Web.UI.WebControls" TypeName="AccessDataSource" Safe="False" AllowRemoteDesigner="False" />
33 <SafeControl Assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="System.Web.UI.WebControls" TypeName="XmlDataSource" Safe="False" AllowRemoteDesigner="False" />
34 <SafeControl Assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="System.Web.UI.WebControls" TypeName="ObjectDataSource" Safe="False" AllowRemoteDesigner="False" />
35 <SafeControl Assembly="Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
36 <SafeControl Assembly="Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.WebPartPages" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
37 <SafeControl Assembly="Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.WebControls" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
38 <SafeControl Assembly="Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.ApplicationPages" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
39 <SafeControl Assembly="Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.SoapServer" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
40 <SafeControl Assembly="Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.Meetings" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
41 <SafeControl Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
42 <SafeControl Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.WebPartPages" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
43 <SafeControl Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.WebControls" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
44 <SafeControl Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.ApplicationPages" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
45 <SafeControl Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.SoapServer" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
46 <SafeControl Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.Meetings" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
47 <SafeControl Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.Workflow" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
48 <SafeControl Assembly="Microsoft.SharePoint.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.Search.WebControls" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
49 <SafeControl Assembly="Microsoft.SharePoint.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.Search.Internal.WebControls" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
50 <SafeControl src="~/_controltemplates/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" />
51 <SafeControl Assembly="CKS.FormsBasedAuthentication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d0c9b215512a2c5d" Namespace="CKS.FormsBasedAuthentication" TypeName="*" Safe="True" />
52 </SafeControls>
53 <PeoplePickerWildcards>
54 <clear />
55 <add key="AspNetSqlMembershipProvider" value="%" />
56 </PeoplePickerWildcards>
57 </SharePoint>
58 <connectionStrings>
59 <remove name="LocalSqlServer" />
60 <add name="LocalSqlServer" connectionString="Server=x-db2;Database=Aarons_Playground;uid=treoapp;pwd=xxxx;" providerName="System.Data.SqlClient" />
61 </connectionStrings>
62 <system.web>
63 <!-- membership provider -->
64 <membership defaultProvider="AspNetSqlMembershipProvider">
65 <providers>
66 <add connectionStringName="LocalSqlServer"
67 enablePasswordRetrieval="false"
68 enablePasswordReset="true"
69 requiresQuestionAndAnswer="false"
70 applicationName="/"
71 requiresUniqueEmail="false"
72 passwordFormat="Hashed"
73 maxInvalidPasswordAttempts="5"
74 minRequiredPasswordLength="5"
75 minRequiredNonalphanumericCharacters="0"
76 passwordAttemptWindow="10"
77 passwordStrengthRegularExpression=""
78 name="AspNetSqlMembershipProvider "
79 type="System.Web.Security.SqlMembershipProvider, System.Web,Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
80 </providers>
81 </membership>
82 <!-- role provider -->
83 <roleManager enabled="true">
84 <providers>
85 <add connectionStringName="LocalSqlServer"
86 applicationName="/"
87 name="SharepointDev"
88 type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
89 </providers>
90 </roleManager>
91 <securityPolicy>
92 <trustLevel name="WSS_Medium" policyFile="C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\config\wss_mediumtrust.config" />
93 <trustLevel name="WSS_Minimal" policyFile="C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\config\wss_minimaltrust.config" />
94 </securityPolicy>
95 <httpHandlers>
96 <remove verb="GET,HEAD,POST" path="*" />
97 <add verb="GET,HEAD,POST" path="*" type="Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
98 <add verb="OPTIONS,PROPFIND,PUT,LOCK,UNLOCK,MOVE,COPY,GETLIB,PROPPATCH,MKCOL,DELETE,(GETSOURCE),(HEADSOURCE),(POSTSOURCE)" path="*" type="Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
99 </httpHandlers>
100 <customErrors mode="Off" />
101 <httpRuntime maxRequestLength="51200" />
102 <authentication mode="Forms">
103 <forms name="cookie" loginUrl="/_layouts/login.aspx" timeout="30" />
104 </authentication>
105 <identity impersonate="true" />
106 <authorization>
107 <allow users="*" />
108 </authorization>
109 <httpModules>
110 <clear />
111 <add name="SPRequest" type="Microsoft.SharePoint.ApplicationRuntime.SPRequestModule, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
112 <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
113 <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
114 <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
115 <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
116 <add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
117 <!-- <add name="Session" type="System.Web.SessionState.SessionStateModule"/> -->
118 </httpModules>
119 <globalization fileEncoding="utf-8" />
120 <compilation batch="true" debug="true">
121 <assemblies>
122 <add assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
123 </assemblies>
124 <expressionBuilders>
125 <remove expressionPrefix="Resources" />
126 <add expressionPrefix="Resources" type="Microsoft.SharePoint.SPResourceExpressionBuilder, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
127 <add expressionPrefix="SPHtmlEncodedResources" type="Microsoft.SharePoint.SPHtmlEncodedResourceExpressionBuilder, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
128 <add expressionPrefix="SPSimpleFormattingEncodedResources" type="Microsoft.SharePoint.SPSimpleFormattingEncodedResourceExpressionBuilder, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
129 </expressionBuilders>
130 </compilation>
131 <pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false" pageParserFilterType="Microsoft.SharePoint.ApplicationRuntime.SPPageParserFilter, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" asyncTimeout="7">
132 <namespaces>
133 <remove namespace="System.Web.UI.WebControls.WebParts" />
134 </namespaces>
135 <tagMapping>
136 <add tagType="System.Web.UI.WebControls.SqlDataSource, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mappedTagType="Microsoft.SharePoint.WebControls.SPSqlDataSource, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
137 </tagMapping>
138 </pages>
139 <siteMap defaultProvider="SPSiteMapProvider" enabled="true">
140 <providers>
141 <add name="SPNavigationProvider" type="Microsoft.SharePoint.Navigation.SPNavigationProvider, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
142 <add name="SPSiteMapProvider" type="Microsoft.SharePoint.Navigation.SPSiteMapProvider, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
143 <add name="SPContentMapProvider" type="Microsoft.SharePoint.Navigation.SPContentMapProvider, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
144 <add name="SPXmlContentMapProvider" siteMapFile="_app_bin/layouts.sitemap" type="Microsoft.SharePoint.Navigation.SPXmlContentMapProvider, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
145 </providers>
146 </siteMap>
147 <trust level="WSS_Minimal" originUrl="" />
148 <webParts>
149 <transformers>
150 <add name="TransformableFilterValuesToFilterValuesTransformer" type="Microsoft.SharePoint.WebPartPages.TransformableFilterValuesToFilterValuesTransformer, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
151 <add name="TransformableFilterValuesToParametersTransformer" type="Microsoft.SharePoint.WebPartPages.TransformableFilterValuesToParametersTransformer, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
152 <add name="TransformableFilterValuesToFieldTransformer" type="Microsoft.SharePoint.WebPartPages.TransformableFilterValuesToFieldTransformer, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
153 </transformers>
154 </webParts>
155 <machineKey validationKey="2E98DE67D80F7AE7DFD3B637439125DF0DD601585C7BB0C8" decryptionKey="147D6EB9B20E7BE7D9400ACF42482791F1EC5E1589D4EA6A" validation="SHA1" />
156 </system.web>
157 <runtime>
158 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
159 <dependentAssembly>
160 <assemblyIdentity name="Microsoft.SharePoint" publicKeyToken="71e9bce111e9429c" culture="neutral" />
161 <bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0" />
162 </dependentAssembly>
163 <dependentAssembly>
164 <assemblyIdentity name="Microsoft.SharePoint.Dsp" publicKeyToken="71e9bce111e9429c" culture="neutral" />
165 <bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0" />
166 </dependentAssembly>
167 <dependentAssembly>
168 <assemblyIdentity name="Microsoft.SharePoint.Dsp.OleDb" publicKeyToken="71e9bce111e9429c" culture="neutral" />
169 <bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0" />
170 </dependentAssembly>
171 <dependentAssembly>
172 <assemblyIdentity name="Microsoft.SharePoint.Dsp.SoapPT" publicKeyToken="71e9bce111e9429c" culture="neutral" />
173 <bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0" />
174 </dependentAssembly>
175 <dependentAssembly>
176 <assemblyIdentity name="Microsoft.SharePoint.Dsp.Sts" publicKeyToken="71e9bce111e9429c" culture="neutral" />
177 <bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0" />
178 </dependentAssembly>
179 <dependentAssembly>
180 <assemblyIdentity name="Microsoft.SharePoint.Dsp.XmlUrl" publicKeyToken="71e9bce111e9429c" culture="neutral" />
181 <bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0" />
182 </dependentAssembly>
183 <dependentAssembly>
184 <assemblyIdentity name="Microsoft.SharePoint.intl" publicKeyToken="71e9bce111e9429c" culture="neutral" />
185 <bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0" />
186 </dependentAssembly>
187 <dependentAssembly>
188 <assemblyIdentity name="Microsoft.SharePoint.Library" publicKeyToken="71e9bce111e9429c" culture="neutral" />
189 <bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0" />
190 </dependentAssembly>
191 <dependentAssembly>
192 <assemblyIdentity name="Microsoft.SharePoint.Security" publicKeyToken="71e9bce111e9429c" culture="neutral" />
193 <bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0" />
194 </dependentAssembly>
195 <probing privatePath="bin;_app_bin" />
196 </assemblyBinding>
197 </runtime>
198 <location path="_layouts/images">
199 <system.web>
200 <authorization>
201 <allow users="*" />
202 </authorization>
203 </system.web>
204 </location>
205 <location path="_layouts/mobile/mbllogin.aspx">
206 <system.web>
207 <authorization>
208 <allow users="*" />
209 </authorization>
210 </system.web>
211 </location>
212 <System.Workflow.ComponentModel.WorkflowCompiler>
213 <authorizedTypes>
214 <authorizedType Assembly="System.Workflow.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Workflow.*" TypeName="*" Authorized="True" />
215 <authorizedType Assembly="System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Workflow.*" TypeName="*" Authorized="True" />
216 <authorizedType Assembly="System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Workflow.*" TypeName="*" Authorized="True" />
217 <authorizedType Assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Namespace="System*" TypeName="*" Authorized="True" />
218 <authorizedType Assembly="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Namespace="System*" TypeName="*" Authorized="True" />
219 <authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Namespace="System*" TypeName="*" Authorized="True" />
220 <authorizedType Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.Workflow" TypeName="SPWorkflowActivationProperties" Authorized="True" />
221 <authorizedType Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.Workflow" TypeName="SPWorkflowTaskProperties" Authorized="True" />
222 <authorizedType Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.Workflow" TypeName="SPWorkflowHistoryEventType" Authorized="True" />
223 <authorizedType Assembly="Microsoft.SharePoint.WorkflowActions, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.WorkflowActions" TypeName="*" Authorized="True" />
224 </authorizedTypes>
225 </System.Workflow.ComponentModel.WorkflowCompiler>
226 </configuration>