データベース設計に従ってデータベースを作成するために、Linq to SQL を使用して Sharepoint Provider でホストされるアプリをコーディングしています。アプリの認証と承認を実装する必要があります。ユーザーの認証/承認方法には、いくつかのロジックが関係しています。
ユーザーが SharePoint でアプリをクリックすると:
- ユーザーの電子メール アドレスは、SharePoint コンテキストから読み取られます。
- アプリは、ユーザーのメール アドレスが
Accounts
テーブル (カスタム データベース) にあるかどうかを調べます。 - アプリは、ユーザーがテーブルで見つかった場合、アカウント
Accounts
テーブルでどのロールを持っているかを判断します。 View
ユーザーに応じてレンダリングRole
- ユーザーがテーブルに見つからなかった場合
Accounts
、ログイン ページにリダイレクトする代わりにエラー メッセージを表示します。
注: ユーザーが SharePoint からアクセスした場合、ログイン ページは表示されません。
ユーザーがログイン ページの URL を直接呼び出した場合:
- ログインページを表示
- ユーザーが資格情報を入力します (パスワード付きの SharePoint からの電子メール)
- アプリは、テーブルをチェックして、これらの資格情報が有効かどうかを確認し
Accounts
ます。 - 資格情報が有効な場合は、Role from
Accounts
テーブルも確認してください。 View
ユーザーの役割に応じてレンダリングします。
これはAccounts
テーブルです:
**Accounts**
------------
UserName (string, SharePoint E-Mail)
Password
Role (string, value from struct)
これは私のカスタムRoles
構造体です:
public struct Roles
{
public struct UserRoles
{
public const string NormalUser= "NormalUser";
public const string PrivilegedUser = "PrivilegedUser ";
}
public struct AdminRoles
{
public const string SuperAdmin = "SuperAdmin ";
public const string ProjectsAdmin = "ProjectsAdmin ";
public const string UsersAdmin = "UsersAdmin ";
}
}
基本的に、これは私が取り組まなければならないものです。いろいろな可能性があるので、少し戸惑います。ロールをカスタム データベースに保持したくないので、RoleProvider
.