Top > SAStrutsあれこれ > 2-3 会員かどうか判断しよう

<web-app>の子要素として以下の設定を追加します。
Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    <security-constraint>
        <web-resource-collection>
        <web-resource-name>Members Only</web-resource-name>
        <url-pattern>/member/only</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>user</role-name>
        </auth-constraint>
    </security-constraint>
    
    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>Members Only</realm-name>
    </login-config>
    
    <security-role>
        <role-name>user</role-name>
    </security-role>

<login-config>タグによって認証情報の入力方式を設定します。方式は以下の4種類があります。

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
 
 
 
 
 
 
      <!-- This Realm uses the UserDatabase configured in the global JNDI
           resources under the key "UserDatabase".  Any edits
           that are performed against this UserDatabase are immediately
           available for use by the Realm.  -->
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
 
 
 
 
 
 
      <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
          driverName="com.mysql.jdbc.Driver"
          connectionURL="jdbc:mysql://localhost:3306/sastruts"
          connectionName="sastruts" connectionPassword="sastruts" digest="MD5"
          userTable="Member" userNameCol="mail" userCredCol="password"
          userRoleTable="roles" roleNameCol="role" />

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
 
-
|
!
    @Execute(validator = false, roles = "user")
    public String only() {
        return "only.jsp";
    }
Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 
 
 
 
 
 
 
 
 
 
 
 
<%@page contentType="text/html; charset=UTF-8" %>
<HTML>
    <BODY>
        <H4>getRemoteUser()で取り出す</H4><BR>
        あなた(<%= request.getRemoteUser() %>)はメンバーです。<BR>
        <H4>getPrincipal()で取り出す</H4><BR>
        あなた(<%= request.getUserPrincipal().getName() %>)はメンバーです。<BR>
        <H4>isUserInRole()で取り出す</H4><BR>
        あなたのロールとしてuserは<%= request.isUserInRole("user") %>(trueなら持っている)<BR>
        あなたのロールとしてvipは<%= request.isUserInRole("vip") %>(trueなら持っている)<BR>
    </BODY>
</HTML>

添付ファイル: filesupersample2-3_3.jpg 365件 [詳細] filesupersample2-3_2.jpg 373件 [詳細] filesupersample2-3_1.jpg 372件 [詳細]

リロード   新規 編集 凍結解除 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2012-08-08 (水) 23:25:53 (2928d)