<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=DE link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>Hallo,<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>wir benutzen OpenBenno als Mailarchiv. Mit der integrierten
Authentifikation über den ExternalCommandUserDetailsManager konnten wir bereits
verifizieren, dass die Mails tatsächlich im Archiv landen.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Nun soll Benno an unser Active Directory angebunden werden. Über
die Spring Security Konfiguration habe ich dazu einen
LdapAuthenticationProvider konfiguriert. Die Authentifikation der Nutzer ist
damit möglich und funktioniert. Allerdings werden keine E-Mails angezeigt.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Dem ExternalCommandUserDetailsManager habe ich entnommen,
dass es neben der Rolle für den Zugriff auf die Applikation, eine weitere Rolle
notwendig ist, die die jeweilige E-Mail-Adresse zur Ansicht &#8222;freischaltet&#8220;.
Dazu habe ich einen OpenBennoLdapAuthoritiesPopulator implementiert, der
zusätzlich die entsprechende Rolle bereitstellt. Per Debugger konnte ich
nachweisen, dass die Rolle korrekt hinzugefügt wird. Allerdings werden noch
immer keine E-Mails angezeigt. Wenn ich jedoch wieder den ExternalCommandUserDetailsManager
einbinde, sehe ich meine Nachrichten.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Dies sind die relevanten Ausschnitte aus der
applicationContext-security.xml:<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>      </span><span style='font-size:
10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span style='font-size:
10.0pt;font-family:"Courier New";color:#3F7F7F'>http</span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&gt;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>intercept-url</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>pattern</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;/login.html*&quot;</span></i>
<span style='color:#7F007F'>filters</span><span style='color:black'>=</span><i><span
style='color:#2A00FF'>&quot;none&quot;</span></i><span style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>intercept-url</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>pattern</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;/images/**&quot;</span></i>
<span style='color:#7F007F'>filters</span><span style='color:black'>=</span><i><span
style='color:#2A00FF'>&quot;none&quot;</span></i><span style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>intercept-url</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>pattern</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;/**&quot;</span></i>
<span style='color:#7F007F'>access</span><span style='color:black'>=</span><i><span
style='color:#2A00FF'>&quot;ROLE_COMMUNARDO&quot;</span></i> <span
style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>form-login</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>login-page</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>'/login.html'</span></i><span
style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>anonymous</span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>/&gt;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>logout</span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>/&gt;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>      </span><span style='font-size:
10.0pt;font-family:"Courier New";color:teal'>&lt;/</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>http</span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&gt;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>      </span><span style='font-size:
10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span style='font-size:
10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:bean</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>id</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;ldapProvider&quot;</span></i>
<span style='color:#7F007F'>class</span><span style='color:black'>=</span><i><span
style='color:#2A00FF'>&quot;org.springframework.security.providers.ldap.LdapAuthenticationProvider&quot;</span></i><span
style='color:teal'>&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>custom-authentication-provider</span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>/&gt;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:constructor-arg</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>ref</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;ldapBindAuthenticator&quot;</span></i>
<span style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:constructor-arg</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>ref</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;authoritiesPopulator&quot;</span></i><span
style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>      </span><span style='font-size:
10.0pt;font-family:"Courier New";color:teal'>&lt;/</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:bean</span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&gt;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>      </span><span style='font-size:
10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span style='font-size:
10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:bean</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>id</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;authoritiesPopulator&quot;</span></i>
<span style='color:#7F007F'>class</span><span style='color:black'>=</span><i><span
style='color:#2A00FF'>&quot;de.communardo.openbenno.OpenBennoLdapAuthoritiesPopulator&quot;</span></i><span
style='color:teal'>&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:constructor-arg</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>ref</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;contextSource&quot;</span></i><span
style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:constructor-arg</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>value</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;&quot;</span></i><span
style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:property</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>name</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;groupRoleAttribute&quot;</span></i>
<span style='color:#7F007F'>value</span><span style='color:black'>=</span><i><span
style='color:#2A00FF'>&quot;cn&quot;</span></i><span style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:property</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>name</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;groupSearchFilter&quot;</span></i>
<span style='color:#7F007F'>value</span><span style='color:black'>=</span><i><span
style='color:#2A00FF'>&quot;(&amp;amp;(member={0})(objectClass=group))&quot;</span></i><span
style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:property</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>name</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;rolePrefix&quot;</span></i>
<span style='color:#7F007F'>value</span><span style='color:black'>=</span><i><span
style='color:#2A00FF'>&quot;ROLE_&quot;</span></i><span style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:property</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>name</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;searchSubtree&quot;</span></i>
<span style='color:#7F007F'>value</span><span style='color:black'>=</span><i><span
style='color:#2A00FF'>&quot;true&quot;</span></i><span style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:property</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>name</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;convertToUpperCase&quot;</span></i>
<span style='color:#7F007F'>value</span><span style='color:black'>=</span><i><span
style='color:#2A00FF'>&quot;false&quot;</span></i><span style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            </span><span
style='font-size:10.0pt;font-family:"Courier New";color:teal'>&lt;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F7F'>beans:property</span><span
style='font-size:10.0pt;font-family:"Courier New"'> <span style='color:#7F007F'>name</span><span
style='color:black'>=</span><i><span style='color:#2A00FF'>&quot;mailRoleAttribute&quot;</span></i>
<span style='color:#7F007F'>value</span><span style='color:black'>=</span><i><span
style='color:#2A00FF'>&quot;mail&quot;</span></i><span style='color:teal'>/&gt;</span><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>      </span><span style='font-size:10.0pt;font-family:"Courier New";
color:teal'>&lt;/</span><span style='font-size:10.0pt;font-family:"Courier New";
color:#3F7F7F'>beans:bean</span><span style='font-size:10.0pt;font-family:"Courier New";
color:teal'>&gt;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:teal'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Dies ist die neu implementierte Klasse:<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>/**</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>LDAP</span><span style='font-size:
10.0pt;font-family:"Courier New";color:black'> </span><span style='font-size:
10.0pt;font-family:"Courier New";color:#3F5FBF'>Authorities</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>provider</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>for</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>the</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>OpenBenno</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>mail</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>archive.</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>Adds</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>the</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>user's</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>email</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F7F9F'>-</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>address</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>as</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>additional</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>role.</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><b><span style='font-size:10.0pt;
font-family:"Courier New";color:#7F9FBF'>@author</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><u><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>Niels</span></u><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><u><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>Jäckel</span></u><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>&lt;niels.<u>jaeckel@communardo</u>.<u>de</u>&gt;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*/</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><b><span style='font-size:10.0pt;
font-family:"Courier New";color:#7F0055'>public</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>class</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>
OpenBennoLdapAuthoritiesPopulator </span><b><span style='font-size:10.0pt;
font-family:"Courier New";color:#7F0055'>extends</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>
DefaultLdapAuthoritiesPopulator {</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>/**</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>The</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>attribute</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>with</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>the</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>user's</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>e</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F7F9F'>-</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>mail</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>in</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>the</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>LDAP</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>principal.</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>This</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>value</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>may</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>be</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>directory</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F7F9F'>-</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>specific.</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*/</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><b><span style='font-size:
10.0pt;font-family:"Courier New";color:#7F0055'>private</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> String </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>mailRoleAttribute</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> = </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>&quot;mail&quot;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>/**</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>The</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>prefix</span><span style='font-size:
10.0pt;font-family:"Courier New";color:black'> </span><span style='font-size:
10.0pt;font-family:"Courier New";color:#3F5FBF'>for</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>mail</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>roles.</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>This</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>value</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>is</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>constant</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>as</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>of</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>OpenBenno.</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*/</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><b><span style='font-size:
10.0pt;font-family:"Courier New";color:#7F0055'>private</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> String </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>roleMailPrefix</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> = </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>&quot;ROLE_MAIL_&quot;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>/**</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>Copy</span><span style='font-size:
10.0pt;font-family:"Courier New";color:black'> </span><span style='font-size:
10.0pt;font-family:"Courier New";color:#3F5FBF'>this</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>property</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>from</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>the</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>DefaultLdapAuthoritiesPopulator</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*/</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><b><span style='font-size:
10.0pt;font-family:"Courier New";color:#7F0055'>protected</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>boolean</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>convertMailToUpperCase</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> = </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>true</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><b><span style='font-size:
10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>
OpenBennoLdapAuthoritiesPopulator(ContextSource contextSource, String
groupSearchBase) {</span><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>super</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>(contextSource,
groupSearchBase);</span><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    }</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#646464'>@SuppressWarnings</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>(</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>&quot;unchecked&quot;</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>)</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#646464'>@Override</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><b><span style='font-size:
10.0pt;font-family:"Courier New";color:#7F0055'>protected</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> Set
getAdditionalRoles(DirContextOperations user, String username) {</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        </span><span style='font-size:
10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        String mailAddress =
user.getStringAttribute(</span><span style='font-size:10.0pt;font-family:"Courier New";
color:#0000C0'>mailRoleAttribute</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>);</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        </span><span style='font-size:
10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>if</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> (</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>convertMailToUpperCase</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>) {</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>            mailAddress =
mailAddress.toUpperCase();</span><span style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        }</span><span style='font-size:
10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        String role = </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>roleMailPrefix</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> + mailAddress;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        </span><span style='font-size:
10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        Set result = </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>new</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> HashSet();</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        result.add(</span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>new</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>
GrantedAuthorityImpl(role));</span><span style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        </span><span style='font-size:
10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:red'>return</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> result;</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    }</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>/**</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><b><span style='font-size:10.0pt;
font-family:"Courier New";color:#7F9FBF'>@param</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>mailRoleAttribute</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>the</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>mailRoleAttribute</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>to</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>set</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*/</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><b><span style='font-size:
10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>void</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>
setMailRoleAttribute(String mailRoleAttribute) {</span><span style='font-size:
10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        Assert.<i>notNull</i>(mailRoleAttribute,
</span><span style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>&quot;mailRoleAttribute
must not be null&quot;</span><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>);</span><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>this</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>.</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>mailRoleAttribute</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> =
mailRoleAttribute;</span><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    }</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>/**</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><b><span style='font-size:10.0pt;
font-family:"Courier New";color:#7F9FBF'>@param</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>roleMailPrefix</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>the</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>roleMailPrefix</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>to</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>set</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*/</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><b><span style='font-size:
10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>void</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>
setRoleMailPrefix(String roleMailPrefix) {</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>this</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>.</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>roleMailPrefix</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> =
roleMailPrefix;</span><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    }</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>/**</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*</span><span style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><b><span style='font-size:10.0pt;
font-family:"Courier New";color:#7F9FBF'>@param</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>convertToUpperCase</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>the</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>convertToUpperCase</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>to</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
style='font-size:10.0pt;font-family:"Courier New";color:#3F5FBF'>set</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>     </span><span style='font-size:10.0pt;
font-family:"Courier New";color:#3F5FBF'>*/</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    </span><b><span style='font-size:
10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>void</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>
setConvertToUpperCase(</span><b><span style='font-size:10.0pt;font-family:"Courier New";
color:#7F0055'>boolean</span></b><span style='font-size:10.0pt;font-family:
"Courier New";color:black'> convertToUpperCase) {</span><span style='font-size:
10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>this</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>.</span><span
style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>convertMailToUpperCase</span><span
style='font-size:10.0pt;font-family:"Courier New";color:black'> =
convertToUpperCase;</span><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>        </span><b><span
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>super</span></b><span
style='font-size:10.0pt;font-family:"Courier New";color:black'>.setConvertToUpperCase(convertToUpperCase);</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:black'>    }</span><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>}</span><span style='font-size:10.0pt;font-family:"Courier New";
color:teal'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:teal'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'>Müssen neben der zusätzlichen </span><span style='font-size:10.0pt;
font-family:"Arial","sans-serif"'>ROLE_MAIL_e.mail@adres.se<span
style='color:black'> weitere Voraussetzungen erfüllt werden, damit die E-Mails
angezeigt werden? Sobald ein Nutzer über das AD die Nutzergruppen ADMIN oder
AUDITOR zugewiesen bekommt, werden alle E-Mails von allen Nutzern angezeigt.
Prinzipiell funktioniert der Zugriff also&#8230;<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'>Vielen Dank und Grüße,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'>Niels Jäckel<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'>-- <br>
Communardo Software GmbH<br>
Human Network Competence</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'>i.A. Niels Jäckel,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'>Softwareentwickler<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'>Kleiststraße 10 a, D-01129 Dresden<br>
Fon:&nbsp;&nbsp; +49 351 / 833 82 - 251</span><span style='font-size:12.0pt;
font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'>Fax:&nbsp;&nbsp;&nbsp;+49 351 / 833 82 - 299<br>
Mail: <a href="mailto:niels.jaeckel@communardo.de"><span style='color:blue'>niels.jaeckel@communardo.de</span></a><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'>Web:&nbsp; <a href="http://www.communardo.de/"><span
style='color:blue'>http://www.communardo.de</span></a></span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'>Blog: &nbsp;<a href="http://www.humannetworkcompetence.de/"><span
style='color:blue'>http://www.humannetworkcompetence.de/</span></a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a
href="http://www.communardo.de/techblog/"><span style='color:blue'>http://www.communardo.de/techblog/</span></a><br>
&nbsp;&nbsp;</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:black'><br>
Amtsgericht Dresden, HRB 19244, USt-ID. DE213200303<br>
Geschäftsführer: Ilja Hauß, Dirk Röhrborn</span><span style='font-size:12.0pt;
font-family:"Times New Roman","serif"'><o:p></o:p></span></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>