Bonjour à tous, j'ai un petit soucis lors du déployement de mon application ASP.NET avec la gestion des rôles.
Pour résumer, j'ai développer une application en local qui utilise le SQL Membership Provider. Tout fonctionne correctement Roles, Users, ... Mais lorsque je déploie mon application sur IIS, et bien certaines choses ne vont plus. Du moins ce que j'ai pu voir jusqu'ici.

Lorsque je rentre le login par la web form, le programme reconnaît le user mais par contre il ne reconnait pas les rôles. J'ai vérifié dans la DB, le user a pourtant bien le rôle que je lui aie assigné.

Dès qu'il essaie de tester les rôles, rien ne répond.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
            MembershipUser user = Membership.GetUser();
            if (user != null)
            {
                if (Roles.IsUserInRole(user.UserName, "Admin"))
                {
                    this.AdminCell.Visible = true;
                    this.BiblioCell.Visible = true;
                }
Voilà le web.config au cas où j'aurais mal codé qqch.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
	<appSettings>
		<add key="DocManagement" value="DocManagement" />
	</appSettings>
	<connectionStrings>
		<add name="MembershipConnection" connectionString="Data Source=Localhost;Initial Catalog=aspnetdb;UID=****;PWD=****;" />
	</connectionStrings>
	<system.web>
 
		<compilation debug="true"/>
 
		<authentication mode="Forms">
			<forms loginUrl="~/Default.aspx" />
		</authentication>
 
		<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
			<providers>
				<clear />
				<add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider"
			   connectionStringName="MembershipConnection"
			   applicationName="DocManagement"
			   enablePasswordRetrieval="true"
			   enablePasswordReset="true"
			   requiresQuestionAndAnswer="false"
			   requiresUniqueEmail="true"
			   passwordFormat="Clear" />
			</providers>
		</membership>
 
		<roleManager cacheRolesInCookie="true" enabled="true" defaultProvider="SQLProvider">
			<providers>
				<add name="SqlProvider"
				type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"
				connectionStringName="MembershipConnection"
				applicationName="DocManagement" />
			</providers>
		</roleManager>
 
	</system.web>
 
</configuration>
Merci.