WebAdapt.TEndUserSessionAdapter
Delphi
TEndUserSessionAdapter = class(TCustomEndUserSessionAdapter)
C++
class PASCALIMPLEMENTATION TEndUserSessionAdapter : public TCustomEndUserSessionAdapter
プロパティ
| 種類 | 可視性 | ソース | ユニット | 親 |
|---|---|---|---|---|
| class | public | WebAdapt.pas WebAdapt.hpp |
WebAdapt | WebAdapt |
説明
TEndUserSessionAdapter は,ユーザー名,ユーザー ID,ユーザーがログインしているかどうかなど,現在のエンドユーザーに関する情報を提供します。
ユーザーが Web ページにアクセスする前にログインしなければならない WebSnap アプリケーションには,TEndUserSessionAdapter を追加します。TEndUserSessionAdapter は,エンドユーザーのかわりにログインとログアウトのアクションを処理します。TEndUserSessionAdapter は,TSessionsService コンポーネントを使って現在のエンドユーザーに関する情報を格納します。WebSnap アプリケーションは,TEndUserSessionAdapter が適切に動作するように,TSessionsService コンポーネント(またはそれと同等なもの)を保持しておく必要があります。
TEndUserSessionAdapter は,DisplayName と LoggedIn のという 2 つのデフォルトアダプタ項目をサポートしています。これらの項目は,ユーザー名とログインの状態へのアクセスを提供します。TEndUserSessionAdapter は,TSessionsService コンポーネントによって保守される Web セッションから,これらの項目の値を取り出します。
TEndUserSessionAdapter は,LoginForm と LogoutOut という 2 つのデフォルトアクションをサポートします。これらのアクションは,ログインフォームを表示したり,ユーザーをログアウトさせたりする場合に使用されます。LoginPage プロパティを使用すると,ログインページの名前を指定できます。ログアウトアクションのデフォルト実装は,セッションを終了させます。
EndUser スクリプト変数は,サーバー側スクリプトを使ってエンドユーザー情報を表示したり,エンドユーザーアクションを実行したりする場合に使用されます。以下の JavaScript では,ログインしているエンドユーザーがいればその名前を表示します。
<% if (EndUser.LoggedIn) { %> <h1>Welcome <%= EndUser.DisplayName %> </h1> <% } %>
以下の JavaScript では,ログインハイパーリンクまたはログアウトハイパーリンクを表示します。
<% if (EndUser.Logout.Enabled) { %> <a href="<%=EndUser.Logout.AsHREF%>">Logout</a> <% } %> <% if (EndUser.LoginForm.Enabled) { %> <a href=<%=EndUser.LoginForm.AsHREF%>>Login</a> <% } %>
TEndUserSessionAdapter は,ユーザーのアクセス権も判別します。WebSnap アプリケーションに TWebUserList などが含まれている場合,TEndUserAdapter はその TWebUserList コンポーネントを呼び出して,特定のユーザー ID の権限をチェックします。イベントハンドラで権限をチェックするには,OnHasRights イベントを実装します。