ログインダイアログ

<xp:this.resources>
  <xp:dojoModule name="dijit.Dialog"></xp:dojoModule>
</xp:this.resources>
 
<xp:link escape="true" id="banner_btn_login"
  styleClass="loginLink" text="Anmelden">
  <xp:this.rendered>
    <![CDATA[#{javascript:
      var strLoginURL:String;
      var strLogoutURL:String;
      var contextPath = facesContext.getExternalContext().getRequest().getContextPath();
      var requestURI = facesContext.getExternalContext().getRequest().getRequestURI();
 
      strLoginURL = contextPath + "?login&redirectto=" + requestURI;
      strLogoutURL = contextPath + "?logout&redirectto=" + contextPath;
      return (@UserName() == "Anonymous")?true:false;}]]>
  </xp:this.rendered>
  <xp:eventHandler event="onclick"
    submit="false">
    <xp:this.script><![CDATA[javascript:dijit.byId("#{id:showLoginDialog}").show();]]></xp:this.script>
  </xp:eventHandler>
</xp:link>
<xp:link escape="true" id="banner_btn_logout" styleClass="loginLink"
  value="#{javascript:return strLogoutURL}" text="Abmelden">
  <xp:this.rendered>
    <![CDATA[#{javascript:
      return (@UserName() == "Anonymous")?false:true;}]]>
  </xp:this.rendered>
</xp:link>
 
<xp:div dojoType="dijit.Dialog" id="showLoginDialog"
  style="overflow:auto;" title="Anmelden">
  <xp:this.dojoAttributes>
    <xp:dojoAttribute name="href"
      value="#{javascript:strLoginURL}" />
  </xp:this.dojoAttributes>
</xp:div>





このコードを XPage のどこかに追加して、Dojo Dialog のログイン画面を実装出来ます。
OneUI にあるような画面の上部のリンクのリストやメニューにあたるところに配置すると良いですね。

カスタマイズしたログインマスクを使用することをお勧めします。それにはkのダイアログを domcfg.nsf で定義します。詳細はこちらで確認してください。
http://mnicklisch.wordpress.com/2012/04/18/xsnippet-easy-menu-login-dialog/

XPages
katoman
July 21, 2015 at 1:10 PM
Rating
0





No comments yetLogin first to comment...