2010-11-26 13 views
0

Grundsätzlich, In jeder Anwendung für UI haben wir die Zugriffskontrolle für verschiedene Elemente.Was ist der beste Weg, feinkörnige Zugriffskontrolle in der struts2-Ansicht zu implementieren?

Sag mal, habe ich eine Taste, um PM

<logic equal=pm> 
TheButton 
</logic equal> 

<logic NotEqual=pm> 
TheButton=disabled 
</logic NotEqual> 

nun sichtbar zu sein sagen, es ist mehr Bedingung sagen Entwickler unterschiedlichen Zugang haben. Da es keine und in Tags ... Wir tun als

<logic equal=pm> 
TheButton 
</logic equal> 

<logic NotEqual=pm> 
TheButton=disabled 
</logic NotEqual> 

<logic equal=developer> 
TheButton 
</logic equal> 

<logic NotEqual=developer> 
TheButton=disabled 
</logic NotEqual> 

Also hier hält Codesteuerung zu erhöhen und den Zugang ist alles zersplittert.

In Struts2 kann ich für jede Methode innerhalb der Action-Klasse benutzerdefinierte Annotation erstellen und die Zugriffskontrolle überprüfen. Wie @Role=pm,developer

Wie es in Jsp zu tun? so dass ich schreiben kann.

<button name=Thebutton access="pm,developer" > 

Oder so etwas ähnliches.

Antwort

1

Sie könnten eine Methode in Ihrem Controller schreiben, die "getElements()" sagt, die nur erlaubte Elemente zurückgeben würde. Fühlen Sie sich frei, auch einfachere Aktionen zu schreiben, die einzelne Elemente oder eine leere Zeichenfolge zurückgeben, so dass Ihre main.jsp sauber bleibt.

+0

Können Sie ein wenig im Detail arbeiten. Im Grunde sage ich, dass ich einen Knopf für Zugang sichtbar machen möchte = x –

+0

Ich denke, dass Sie einen untauglichen Knopf auch übertragen möchten. Entschuldigung für meine frühere Antwort. In diesem Fall könnten Sie einfach eine button.tag-Datei erstellen, in der Sie diese fehlerhafte Logik hinzufügen können. Fügen Sie in Ihrem Controller eine Aktion hinzu isEnabled (Schaltfläche) und diese Methode überprüft alle Ihre Berechtigungen und gibt einen booleschen Wert an, basierend auf dem Sie die Schaltfläche aktiviert oder deaktiviert anzeigen würden. Hilft das? –