roles
「roles」の意味・「roles」とは
「roles」は英語で「役割」を意味する単語である。個々の人々が社会の中で果たすべき職務や責任、または特定の状況や環境下での行動パターンを指す。例えば、映画や劇の中で俳優が演じるキャラクターも「role」と表現される。また、組織やチーム内でのメンバーの位置付けや責務も「role」と呼ばれる。「roles」の発音・読み方
「roles」の発音はIPA表記では /ˈroʊlz/ となる。カタカナ表記では「ロウルズ」となる。日本人が発音する際は「ロールズ」となる。「roles」の定義を英語で解説
「roles」は英語で定義すると、「the parts that someone or something has in a particular activity or situation」である。これは、「誰かや何かが特定の活動や状況で果たす部分」という意味になる。「roles」の類語
「roles」の類語としては、「parts」「positions」「functions」などがある。これらの単語も「役割」や「位置付け」、「機能」を意味する。「roles」に関連する用語・表現
「roles」に関連する用語や表現としては、「role model」や「role play」などがある。「role model」は「模範となる人物」、「role play」は「役割を演じること」を意味する。「roles」の例文
以下に「roles」を用いた例文を10個示す。 1. He played various roles in the movie.(彼は映画で様々な役割を演じた。)2. The roles of teachers are not only to teach but also to guide students.(教師の役割は教えるだけでなく、生徒を導くことでもある。)
3. She is taking on new roles in the company.(彼女は会社で新たな役割を引き受けている。)
4. The roles of parents have changed over the years.(親の役割は年月と共に変化してきた。)
5. The roles of each team member were clearly defined.(各チームメンバーの役割は明確に定義されていた。)
6. The roles of government in society are complex.(社会における政府の役割は複雑である。)
7. The roles of men and women in society are not fixed.(社会における男性と女性の役割は固定されていない。)
8. He is good at playing comedic roles.(彼はコメディの役割を演じるのが得意である。)
9. The roles of technology in our lives are increasing.(私たちの生活におけるテクノロジーの役割は増加している。)
10. Understanding the roles of each component is essential for system design.(各コンポーネントの役割を理解することはシステム設計において不可欠である。)
Roles クラス
アセンブリ: System.Web (system.web.dll 内)
構文
解説
ASP.NET のロール管理によって、ロールと呼ばれるユーザー グループに基づいてアプリケーションの承認を管理できます。ユーザーをロールに割り当てることによって、ユーザー名に基づいた承認を指定する代わり、またはそれに加えて、ロールに基づいて Web アプリケーションの各部または機能に対するアクセスを制御できます。たとえば、従業員アプリケーションには Managers、Employees、Directors などのロールを作成し、各ロールに異なる権限を指定できます。
ユーザーは複数のロールに所属できます。たとえば、ディスカッション フォーラムのサイトでは、一部のユーザーが Members と Moderators の両方のロールに所属します。サイトの各ロールには異なる権限を定義でき、両方のロールに属するユーザーには両方の権限が与えられます。
ASP.NET アプリケーションのロール管理を有効にするには、次の例にあるように、アプリケーションの Web.config ファイルの system.web セクションの roleManager 要素を使用します。
<configuration> <connectionStrings> <add name="SqlServices" connectionString="Data Source=localhost;Initial Catalog=aspnetdb;Integrated Security=SSPI;" /> </connectionStrings> <system.web> <authentication mode="Forms" > <forms loginUrl="login.aspx" name=".ASPXFORMSAUTH" /> </authentication> <roleManager defaultProvider="SqlProvider" enabled="true" cacheRolesInCookie="true" cookieName=".ASPROLES" cookieTimeout="30" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All" > <providers> <add name="SqlProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="SqlServices" applicationName="SampleApplication" /> </providers> </roleManager> </system.web> </configuration>
承認ルールは Web アプリケーションの構成ファイルに指定するか、またはプログラムによってコードに記述します。たとえば、次の Web.config ファイルの authorization セクションでは、匿名ユーザーのアクセスを拒否することによってユーザーにログオンを要求し、Administrators ロールのユーザーのみにアクセスを許可しています。
<authorization> <deny users="?" /> <allow roles="Administrators" /> <deny users="*" /> </authorization>
アプリケーションの Web.config ファイルの authorization セクションを使用してロールに基づいた承認を指定すると、アプリケーションのユーザーは認証されているユーザー ID を提供する必要があります。ユーザーは、Windows または Forms 認証を使用して認証できます。匿名ユーザーをロールに割り当てることはできません。ロールは ASP.NET の Membership クラスと独立して使用することも、関連して使用することもできます。
ロール メンバシップをプログラムによって検証するには、Roles クラスまたは Page.User プロパティを IsUserInRole メソッドと共に使用します。または Page.User プロパティを IPrincipal.IsInRole メソッドと共に使用することもできます。プログラムによってロール メンバシップをチェックするコード例については、このトピックの「使用例」を参照してください。
Roles クラスを使用して、ロールを作成または削除し、ユーザーを追加または削除することもできます。
メモ |
---|
WindowsTokenRoleProvider クラスを使用するようにアプリケーションを構成している場合、ロールおよびそのロール メンバシップを変更することはできません。WindowsTokenRoleProvider クラスが検証するメンバシップは、Windows セキュリティ グループのみです。この場合、ASP.NET ロールの代わりに Windows ユーザー アカウント管理を使用して、グループを作成または削除し、グループ メンバシップを管理する必要があります。 |
-
WindowsTokenRoleProvider クラスを使用すると、Windows グループのメンバシップに基づくロール情報を取得できます。
-
既存のロール情報がある場合、または Windows、承認ストア、または SQL Server 以外のデータ ストアにロール情報を保存してそこから取得する場合は、RoleProvider 抽象クラスを継承するクラスを作成してカスタム ロール プロバイダを実装します。詳細については、「ロール プロバイダの実装」を参照してください。
ユーザーのブラウザが Cookie を受け入れる場合は、ロール情報をユーザーのコンピュータの Cookie に保存できます。ASP.NET は、各ページの要求に対して Cookie からユーザーのロール情報を読み取ります。これによって、データ ソースからロール情報を取得するために必要な通信量が減少するので、アプリケーションのパフォーマンスが向上します。ロール情報のサイズが大きいために Cookie に保存できない場合、ASP.NET は最新のロール情報を Cookie に保存し、その他のロール情報をデータ ソースから必要に応じて取得します。ユーザーのブラウザが Cookie をサポートしていないか、または Cookie が無効になっている場合、ロール情報は Cookie にキャッシュされません。
ASP.NET ロールを構成する際に CookieProtectionValue プロパティを指定すると、Cookie にキャッシュされるロール名の信頼性が向上します。CookieProtectionValue の既定値は All です。これは、Cookie 内のロール名を暗号化し、Cookie の内容が改ざんされていないかどうかを検査します。
ASP.NET メンバシップと ASP.NET ロールの両方を使用し、SqlRoleProvider を使用してメンバシップとロール情報を SQL Server データベースに保存するように構成されているアプリケーションの Web.config ファイルの例を次に示します。ユーザーはフォーム認証によって認証され、Administrators ロールのユーザーのみがアプリケーションにアクセスできます。
<configuration> <connectionStrings> <add name="SqlServices" connectionString="Data Source=localhost;Initial Catalog=aspnetdb;Integrated Security=SSPI;" /> </connectionStrings> <system.web> <authentication mode="Forms" > <forms loginUrl="login.aspx" name=".ASPXFORMSAUTH" /> </authentication> <authorization> <deny users="?" /> <allow roles="Administrators" /> <deny users="*" /> </authorization> <membership defaultProvider="AspNetSqlProvider" userIsOnlineTimeWindow="15"> </membership> <roleManager defaultProvider="SqlProvider" enabled="true" cacheRolesInCookie="true" cookieName=".ASPROLES" cookieTimeout="30" cookiePath="/" cookieRequireSSL="true" cookieSlidingExpiration="true" cookieProtection="All" > <providers> <clear /> <add name="SqlProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="SqlServices" applicationName="SampleApplication" /> </providers> </roleManager> </system.web> </configuration>
ログオンしているユーザーに他のユーザーのロールの参照を許可する前に、ユーザーが Administrators ロールに属しているかどうかをプログラムによってチェックするコード例を次に示します。
System.Web.Security.Roles
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Roles プロパティ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
ApplicationName | ロール情報を保管および取得するアプリケーションの名前を取得または設定します。 | |
CacheRolesInCookie | 現在のユーザーのロールが Cookie にキャッシュされているかどうかを示す値を取得します。 | |
CookieName | ロール名がキャッシュされている Cookie の名前を取得します。 | |
CookiePath | キャッシュされているロール名の Cookie へのパスを取得します。 | |
CookieProtectionValue | Cookie にキャッシュされるロール名のセキュリティ保護の方法を示す値を取得します。 | |
CookieRequireSSL | ロール名の Cookie をサーバーに返すために SSL を必要とするかどうかを示す値を取得します。 | |
CookieSlidingExpiration | ロール名の Cookie の有効期限の日時を定期的にリセットするかどうかを示します。 | |
CookieTimeout | ロール Cookie の有効期限が切れるまでの時間 (分) を取得します。 | |
CreatePersistentCookie | ロール名の Cookie がセッション ベースか、または永続的かを示す値を取得します。 | |
Domain | ロール名の Cookie のドメインの値を取得します。 | |
Enabled | 現在の Web アプリケーションに対してロール管理が有効になっているかどうかを示す値を取得または設定します。 | |
MaxCachedResults | ユーザーに対してキャッシュするロール名の最大数を取得します。 | |
Provider | アプリケーションの既定のロール プロバイダを取得します。 | |
Providers | ASP.NET アプリケーションのロール プロバイダのコレクションを取得します。 |
Roles メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
Roles メンバ
ASP.NET アプリケーションの承認チェックに使用するロールのユーザー メンバシップを管理します。このクラスは継承できません。
Roles データ型で公開されるメンバを以下の表に示します。
パブリック プロパティ
名前 | 説明 | |
---|---|---|
ApplicationName | ロール情報を保管および取得するアプリケーションの名前を取得または設定します。 | |
CacheRolesInCookie | 現在のユーザーのロールが Cookie にキャッシュされているかどうかを示す値を取得します。 | |
CookieName | ロール名がキャッシュされている Cookie の名前を取得します。 | |
CookiePath | キャッシュされているロール名の Cookie へのパスを取得します。 | |
CookieProtectionValue | Cookie にキャッシュされるロール名のセキュリティ保護の方法を示す値を取得します。 | |
CookieRequireSSL | ロール名の Cookie をサーバーに返すために SSL を必要とするかどうかを示す値を取得します。 | |
CookieSlidingExpiration | ロール名の Cookie の有効期限の日時を定期的にリセットするかどうかを示します。 | |
CookieTimeout | ロール Cookie の有効期限が切れるまでの時間 (分) を取得します。 | |
CreatePersistentCookie | ロール名の Cookie がセッション ベースか、または永続的かを示す値を取得します。 | |
Domain | ロール名の Cookie のドメインの値を取得します。 | |
Enabled | 現在の Web アプリケーションに対してロール管理が有効になっているかどうかを示す値を取得または設定します。 | |
MaxCachedResults | ユーザーに対してキャッシュするロール名の最大数を取得します。 | |
Provider | アプリケーションの既定のロール プロバイダを取得します。 | |
Providers | ASP.NET アプリケーションのロール プロバイダのコレクションを取得します。 |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
Roles
- Rolesのページへのリンク