Changeset 2084


Ignore:
Timestamp:
Nov 4, 2011, 4:47:36 PM (12 years ago)
Author:
work@…
Message:

shibboleth changes - in development...

Location:
trunk/grails-app
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/dbnp/authentication/LoginController.groovy

    r2083 r2084  
    7070                                def shibOrganization    = request.getHeader(request.getHeaderNames().find{ it.toLowerCase() == 'schacHomeOrganization'.toLowerCase() })
    7171                                def shibDisplayName             = request.getHeader(request.getHeaderNames().find{ it.toLowerCase() == 'displayName'.toLowerCase() })
     72                                def shibVoName                  = request.getHeader(request.getHeaderNames().find{ it.toLowerCase() == 'coin-vo-name'.toLowerCase() })
     73                                def shibUserStatus              = request.getHeader(request.getHeaderNames().find{ it.toLowerCase() == 'coin-user-status'.toLowerCase() })
    7274
    7375                                // does a user exist with this username?
    7476                                def user                                = SecUser.findByUsername(shibPersistentId)
    75 println "user: "
    76 println user
    7777                                if (!user) {
    78 println "creating user"
    7978                                        // no, create a new user
    8079                                        user = new SecUser()
     
    8483                                        user.displayName        = shibDisplayName
    8584                                        user.organization       = shibOrganization
     85                                        user.voName                     = shibVoName
    8686                                        user.uid                        = shibUid
     87                                        user.userStatus         = shibUserStatus
    8788                                        user.shibbolethUser     = true
    8889                                        user.enabled            = true
     
    9293                                        user.accountLocked      = false
    9394                                        user.save(failOnError:true, flush: true)
    94 println user
    9595                                }
    9696
    9797                                // login user
    9898                                springSecurityService.reauthenticate(user.username, user.password)
    99 println "bla"
    10099                                // redirect user
    101100                                if (params.returnURI) {
     
    106105                                }
    107106                        }
    108                 } else {
    109                         println "nope..."
    110107                }
    111108
  • trunk/grails-app/controllers/dbnp/authentication/UserController.groovy

    r1655 r2084  
    3131
    3232        def create = {
    33                 def user = new SecUser(params)
    34                 [user: user, authorityList: sortedRoles()]
     33                if (!session.gscfUser.shibbolethUser) {
     34                        def user = new SecUser(params)
     35                        [user: user, authorityList: sortedRoles()]
     36                } else {
     37                        response.sendError(404)
     38                }
    3539        }
    3640
  • trunk/grails-app/views/common/_topnav.gsp

    r2047 r2084  
    9090                        <ul class="subnav">
    9191                                <li><g:link controller="user" class="icon icon_user"><img src="${fam.icon(name: 'user')}" alt="user administration"/> List Users</g:link></li>
     92                                <g:if test="${!session.gscfUser.shibbolethUser}">
    9293                                <li><g:link controller="user" action="create" class="icon icon_user_add"><img src="${fam.icon(name: 'user')}" alt="user administration"/> Create User</g:link></li>
     94                                </g:if>
    9395                                <li><g:link controller="assayModule" action="list" class="icon icon_user_add"><img src="${fam.icon(name: 'disconnect')}" alt="module administration"/> Manage Modules</g:link></li>
    9496                                <li><g:link controller="setup" class="icon icon_user_add"><img src="${fam.icon(name: 'wand')}" alt="module administration"/> Setup wizard</g:link></li>
  • trunk/grails-app/views/user/edit.gsp

    r1430 r2084  
    44        <title><g:message code="default.edit.label" args="[entityName]"/></title>
    55
    6     <script type="text/javascript">
    7       // This method is called on the event body.onLoad
    8       $(function() {
    9               $("#tabs").tabs();
    10       });
    11     </script>
     6        <script type="text/javascript">
     7                // This method is called on the event body.onLoad
     8                $(function() {
     9                        $("#tabs").tabs();
     10                });
     11        </script>
    1212        <style type="text/css">
    13           div.usermanagement { font-size: 0.8em; }
     13        div.usermanagement {
     14                font-size: 0.8em;
     15        }
    1416        </style>
    1517</head>
    1618
    1719<body>
    18     <script src="${resource(dir: 'js', file: 'jquery-callback-1.2.js')}" type="text/javascript"></script>
     20<script src="${resource(dir: 'js', file: 'jquery-callback-1.2.js')}" type="text/javascript"></script>
    1921
    20         <g:if test="${flash.userError}">
    21           <div id="error" class="error" title="errors">
    22                         <p>
    23                           ${flash.userError}
    24                         </p>
    25           </div>
    26         </g:if>
    27         <h3><g:message code="default.edit.label" args="[entityName]"/></h3>
     22<g:if test="${flash.userError}">
     23        <div id="error" class="error" title="errors">
     24                <p>
     25                        ${flash.userError}
     26                </p>
     27        </div>
     28</g:if>
     29<h3><g:message code="default.edit.label" args="[entityName]"/></h3>
    2830
    2931<g:form action="update" name='userEditForm' class="button-style">
    30 <g:hiddenField name="id" value="${user?.id}"/>
    31 <g:hiddenField name="version" value="${user?.version}"/>
     32        <g:hiddenField name="id" value="${user?.id}"/>
     33        <g:hiddenField name="version" value="${user?.version}"/>
    3234
    33       <div id="tabs" class="usermanagement">
    34         <ul>
    35           <li><a href="#userinfo">User info</a></li>
    36           <li><a href="#roles">Roles</a></li>
    37         </ul>
     35        <div id="tabs" class="usermanagement">
     36                <ul>
     37                        <li><a href="#userinfo">User info</a></li>
     38                        <li><a href="#roles">Roles</a></li>
     39                </ul>
    3840
    39         <div id="userinfo">
     41                <div id="userinfo">
    4042
    41                   <table>
    42                   <tbody>
    43                         <tr><td>Username</td><td><g:textField name="username" value="${user?.username}"/></td></tr>
    44                         <tr><td>Password</td><td><g:passwordField name="password" value="${user?.password}"/></td></tr>
    45                         <tr><td>Email address</td><td><g:textField name="email" value="${user?.email}"/></td></tr>
    46                         <tr><td>User confirmed</td><td><g:checkBox name="userConfirmed" value="${user?.userConfirmed}"/></td></tr>
    47                         <tr><td>Admin confirmed</td><td><g:checkBox name="adminConfirmed" value="${user?.adminConfirmed}"/></td></tr>
    48                         <tr><td>Account expired</td><td><g:checkBox name="accountExpired" value="${user?.accountExpired}"/></td></tr>
    49                         <tr><td>Account locked</td><td><g:checkBox name="accountLocked" value="${user?.accountLocked}"/></td></tr>
    50                         <tr><td>Password expired</td><td><g:checkBox name="passwordExpired" value="${user?.passwordExpired}"/></td></tr>
     43                        <table>
     44                                <tbody>
     45                                <g:if test="${user.shibbolethUser}">
     46                                        <tr><td>Shibboleth user</td><td>yes</td></tr>
     47                                        <tr><td>Username/Urn</td><td>${user?.username}</td></tr>
     48                                        <tr><td>Uid</td><td>${user?.uid}</td></tr>
     49                                        <tr><td>Email address</td><td><g:textField name="email" value="${user?.email}"/></td></tr>
     50                                        <tr><td>Organization</td><td>${user?.organization}</td></tr>
     51                                        <tr><td>VO Name</td><td>${user?.voName}</td></tr>
     52                                        <tr><td>User Status</td><td>${user?.userStatus}</td></tr>
     53                                </g:if>
     54                                <g:else>
     55                                        <tr><td>Shibboleth user</td><td>no</td></tr>
     56                                        <tr><td>Username</td><td><g:textField name="username" value="${user?.username}"/></td></tr>
     57                                        <tr><td>Password</td><td><g:passwordField name="password" value="${user?.password}"/></td></tr>
     58                                        <tr><td>Email address</td><td><g:textField name="email" value="${user?.email}"/></td></tr>
     59                                        <tr><td>User confirmed</td><td><g:checkBox name="userConfirmed"
     60                                                                                                                           value="${user?.userConfirmed}"/></td></tr>
     61                                        <tr><td>Admin confirmed</td><td><g:checkBox name="adminConfirmed"
     62                                                                                                                                value="${user?.adminConfirmed}"/></td></tr>
     63                                        <tr><td>Account expired</td><td><g:checkBox name="accountExpired"
     64                                                                                                                                value="${user?.accountExpired}"/></td></tr>
     65                                        <tr><td>Password expired</td><td><g:checkBox name="passwordExpired"
     66                                                                                                                                 value="${user?.passwordExpired}"/></td></tr>
     67                                </g:else>
     68                                <g:if test="${user != session.gscfUser}">
     69                                        <tr><td>Account locked</td><td><g:checkBox name="accountLocked"
     70                                                                                                                           value="${user?.accountLocked}"/></td></tr>
     71                                </g:if>
     72                                </tbody>
     73                        </table>
     74                </div>
    5175
    52                   </tbody>
    53                   </table>
    54           </div>
    55           <div id="roles">
    56                 <g:each var="entry" in="${roleMap}">
    57                 <div>
    58                         <g:checkBox name="${entry.key.authority}" value="${entry.value}"/>
    59                         ${entry.key.authority.encodeAsHTML()}
     76                <div id="roles">
     77                        <g:each var="entry" in="${roleMap}">
     78                                <div>
     79                                        <g:checkBox name="${entry.key.authority}" value="${entry.value}"/>
     80                                        ${entry.key.authority.encodeAsHTML()}
     81                                </div>
     82                        </g:each>
    6083                </div>
    61                 </g:each>
    62           </div>
    6384
    64           </div>
     85        </div>
    6586
    66 <div style='float:left; margin-top: 10px;'>
    67   <input type="submit" value="Save" />
     87        <div style='float:left; margin-top: 10px;'>
     88                <input type="submit" value="Save"/>
    6889
    69   <g:if test='${user}'>
    70     <input type="button" value="Delete" onClick="$('#userDeleteForm').submit(); return false;"/>
    71   </g:if>
     90                <g:if test='${user}'>
     91                        <input type="button" value="Delete" onClick="$('#userDeleteForm').submit();
     92                        return false;"/>
     93                </g:if>
    7294
    73 </div>
     95        </div>
    7496
    7597</g:form>
    7698
    7799<g:if test='${user}'>
    78   <g:form action="delete" name='userDeleteForm'>
    79         <g:hiddenField name="id" value="${user?.id}"/>
    80   </g:form>
     100        <g:form action="delete" name='userDeleteForm'>
     101                <g:hiddenField name="id" value="${user?.id}"/>
     102        </g:form>
    81103</g:if>
    82104
    83105<script>
    84 $(document).ready(function() {
    85         $('#username').focus();
    86 });
     106        $(document).ready(function() {
     107                $('#username').focus();
     108        });
    87109</script>
    88110
  • trunk/grails-app/views/userRegistration/profile.gsp

    r2081 r2084  
    2222                                <td>${user.organization}</td>
    2323                        </tr>
     24                        <sec:ifAllGranted roles="ROLE_ADMIN">
     25                        <tr>
     26                                <td>Administrator</td>
     27                                <td><b>You are an administrator</b></td>
     28                        </tr>
     29                        </sec:ifAllGranted>
    2430                </table>
    2531        </g:if>
Note: See TracChangeset for help on using the changeset viewer.