AuthorizationStoreRoleProvider.CreateRole Method

Adds a new role to the role authorization-manager policy store.

Namespace: System.Web.Security
Assembly: System.Web (in system.web.dll)

'Declaration
Public Overrides Sub CreateRole ( _
	roleName As String _
)
'Usage
Dim instance As AuthorizationStoreRoleProvider
Dim roleName As String

instance.CreateRole(roleName)
public void CreateRole (
	String roleName
)
public override function CreateRole (
	roleName : String
)
Not applicable.

Parameters

roleName

The name of the role to create.

Exception typeCondition

ArgumentNullException

roleName is a null reference (Nothing in Visual Basic).

ArgumentException

roleName is an empty string.

-or-

roleName contains a comma.

ProviderException

The configured applicationName was not found.

-or-

The configured scopeName was not found.

-or-

The authorization-manager runtime is not installed on the server.

FileNotFoundException

The connectionStringName attribute references a connection string to a file that does not exist.

HttpException

The AuthorizationStoreRoleProvider instance is configured with a file-based policy store, and read access to the file is not allowed at the current trust level.

The CreateRole method is called by the Roles class to create a role in the authorization-manager data store specified in the ASP.NET application's configuration file (Web.config).

Role names are not case sensitive.

The following code example creates a new role in the authorization-manager policy store. For an example of a Web.config file that enables role management, see AuthorizationStoreRoleProvider.

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

Dim rolesArray() As String

Public Sub Page_Load(sender As Object, args As EventArgs)

  If Not IsPostBack Then
    ' Bind roles to GridView.

    rolesArray = Roles.GetAllRoles()
    RolesGrid.DataSource = rolesArray
    RolesGrid.DataBind()
  End If

End Sub

Public Sub CreateRole_OnClick(sender As Object, args As EventArgs)

  Dim createRole As String = RoleTextBox.Text

  Try
    If Roles.RoleExists(createRole) Then
      Msg.Text = "Role '" & Server.HtmlEncode(createRole) & "' already exists. Please specify a different role name."
      Return
    End If

    Roles.CreateRole(createRole)

    Msg.Text = "Role '" & Server.HtmlEncode(createRole) & "' created."

    ' Re-bind roles to GridView.

    rolesArray = Roles.GetAllRoles()
    RolesGrid.DataSource = rolesArray
    RolesGrid.DataBind()
  Catch
    Msg.Text = "Role '" & Server.HtmlEncode(createRole) & "' <u>not</u> created."
  End Try

End Sub

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Create Role</title>
</head>
<body>

<form runat="server" id="PageForm">
  <h3>Create a Role</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Role name: 

  <asp:TextBox id="RoleTextBox" runat="server" />

  <asp:Button Text="Create Role" id="CreateRoleButton"
              runat="server" OnClick="CreateRole_OnClick" />

  <br />

  <asp:GridView runat="server" CellPadding="2" id="RolesGrid" 
                Gridlines="Both" CellSpacing="2" AutoGenerateColumns="false" >
    <HeaderStyle BackColor="navy" ForeColor="white" />
    <Columns>
      <asp:TemplateField HeaderText="Roles" >
        <ItemTemplate>
          <%# Container.DataItem.ToString() %>
        </ItemTemplate>
      </asp:TemplateField>
    </Columns>
   </asp:GridView>
</form>

</body>
</html>

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

ADD
Show: