<br><br><div class="gmail_quote">On Wed, Sep 26, 2012 at 2:23 PM, Shane Bryzak <span dir="ltr">&lt;<a href="mailto:sbryzak@redhat.com" target="_blank">sbryzak@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><div class="im">
    <div>On 27/09/12 05:24, Jason Porter wrote:<br>
    </div>
    <blockquote type="cite">Hey all,
      <div><br>
      </div>
      <div>I&#39;m going through the API again as I&#39;ve seen some changes
        since I last went through it. I may be the only one in this
        boat, but I feel like this interface is starting to become too
        crowded. Should some of the methods be moved over to their
        respective objects (Identity, User, Role, Group, etc)? Should we
        split things off into a different interface? I&#39;m also becoming
        concerned with the password and certificate methods on there.</div>
    </blockquote>
    <br></div>
    It does look like some new methods have crept in.  Which methods
    would you suggest moving over?  The identity model objects are
    designed to be lightweight and non-relational.  </div></blockquote><div><br></div><div> For sure the ones about password and certificate if that&#39;s what is going to happen as you mentioned below. setEnabled and setExpirationDate. As you say, if the identity model objects are not supposed to be relational, those just seems to naturally fit on an identity object.</div>

<div><br></div><div>I still wonder if a get(Class, Object identifier) (i.e. get(Group.class, id) or get(Role.class, name) and similar) is more familiar to users. The getGroup and getRole though are nice to know what you&#39;re expecting. Maybe it&#39;s just a preference thing there. Same thing with createQuery(Class).</div>

<div><br></div><div>Also IdentityStore and IdentityManager are very similar, seems to me like we could pull some things out and create some common interface or something.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div bgcolor="#FFFFFF" text="#000000"><div class="im"><blockquote type="cite">
      
      <div>It seems to me these are essentially authentication
        challenges. Eventually I&#39;m sure we&#39;ll add more like OAuth or
        OpenId, two-factor auth, etc. Will each of these be their own
        methods? Could it be a configuration option to build up a chain
        of authentication challenge providers? I had initially thought
        of a challenge object which would allow input and provide a
        simple response: pass, fail, move to next challenge. Maybe
        that&#39;s too broad or a bad idea, I don&#39;t really know, just
        throwing out ideas.</div>
    </blockquote>
    <br></div>
    I agree with the concern over certificate methods being there, we
    originally just had password methods to cover the 90% use case.  If
    we&#39;re going to start managing other forms of credentials, we should
    look at abstracting out all credential management.<br>
    <br>
    <blockquote type="cite"><div class="im">
      <div><br>
      </div>
      <div>Just looking to make this easy to use and make sure it makes
        sense to users (who I think would be coming from a Java EE
        background).<br clear="all">
        <div><br>
        </div>
        -- <br>
        Jason Porter<br>
        <a href="http://lightguard-jp.blogspot.com" target="_blank">http://lightguard-jp.blogspot.com</a><br>
        <a href="http://twitter.com/lightguardjp" target="_blank">http://twitter.com/lightguardjp</a><br>
        <br>
        Software Engineer<br>
        Open Source Advocate<br>
        Author of Seam Catch - Next Generation Java Exception Handling<br>
        <br>
        PGP key id: 926CCFF5<br>
        PGP key available at: <a href="http://keyserver.net" target="_blank">keyserver.net</a>,
        <a href="http://pgp.mit.edu" target="_blank">pgp.mit.edu</a><br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div><pre>_______________________________________________
security-dev mailing list
<a href="mailto:security-dev@lists.jboss.org" target="_blank">security-dev@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/security-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/security-dev</a>
</pre>
    </blockquote>
    <br>
    <br>
  </div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br>Jason Porter<br><a href="http://lightguard-jp.blogspot.com" target="_blank">http://lightguard-jp.blogspot.com</a><br><a href="http://twitter.com/lightguardjp" target="_blank">http://twitter.com/lightguardjp</a><br>

<br>Software Engineer<br>Open Source Advocate<br>Author of Seam Catch - Next Generation Java Exception Handling<br><br>PGP key id: 926CCFF5<br>PGP key available at: <a href="http://keyserver.net" target="_blank">keyserver.net</a>, <a href="http://pgp.mit.edu" target="_blank">pgp.mit.edu</a><br>