La principale recherche de cet article est que l'intercepteur de serrures implémente l'intercepteur des utilisateurs qui n'ont pas été connectés. La mise en œuvre spécifique est la suivante.
Créez d'abord une classe d'outils:
CheckPrivileGeInterceptor: cette classe hérite d'interceptor, qui est une interface, et nécessite trois méthodes pour implémenter. Si vous pensez qu'il y en a plus, vous pouvez hériter de sa classe d'implémentation Abstract Interceptor. Après avoir hérité de cette classe, il vous suffit de réécrire une méthode, c'est-à-dire de contrôler l'opportunité de vous connecter, quelles autorisations seront après la connexion, etc. Le code est le suivant;
package com.cjdx.utils; import javax.annotation.resource; import org.hibernate.session; import org.hibernate.sessionfactory; import com.cjdx.domain.user; import com.opensymphony.xwork2.actionContex com.opensymphony.xwork2.interceptor.abstractinterceptor; // Vérifiez si vous avez l'autorisation, vérifiez ici seulement si vous savez si vous vous connectez à la classe publique CheckPrivileGeInterceptor étend AbstractInterceptor {@Override public String Intercept (ActionInvocation Inviation) lance une exception {utilisateur de l'utilisateur = (user) ActionConExt). invocation.getProxy (). getNamespace (); String actionName = invocation.getProxy (). getActionName (); String privilEgeUrl = namespace + actionName; if (user == null) {// si l'utilisateur n'est pas enregistré dans if (privilegeurl.startswith ("/ user_login") invocation.invoke ();} {return "Loginui"; // Si l'utilisateur n'est pas connecté et n'est pas connecté, accédez à la page de connexion}} else {return invocation.invoke (); // Si l'utilisateur est déjà connecté, exécutez la méthode correspondante}}}Configurez ensuite Struts2.xml:
<! - Déclaration d'intercepteur de connexion -> <intercepteurs> <! - Déclarez l'interceptor que vous avez écrit -> <intercepteur name = "Checkprivilege"> </ interceptor> <! - Ajoutez l'intercepteur déclaré à l'intercepteur par défaut -> <! - Le nom de cet intercepteur est appelé Defaultstack, ce qui commet directement les commentaires d'origine -> <! -! - Si vous n'écrivez pas aussi. <interceptor-stack name = "DefaultStack"> <interceptor-ref name = "checkPrivilege"> </ interceptor-ref> <interceptor-ref name = "Defaultstack"> </ interceptor-ref> </ interceptor-stack> <! - <interceptor-stack name = "MyStack"> <interceptor-ref name = "checkPrivlege"> </ interceptor <interceptor-ref name = "defaultStack"> </ interceptor-ref> </ interceptor-stack> <interceptor-stack name = "defaultstack"> <interceptor-ref name = "mystack"> </ interceptor-ref> </ interceptor-stack> -> </ interceptors>
Ce qui précède est tout le contenu de cet article sur l'analyse de l'intercepteur de Struts interceptant l'instance de l'utilisateur ungulgé. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!