.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package de.muehlencord.shirofaces.tags.unsupported;
+
+import de.muehlencord.shirofaces.tags.AbstractTag;
+import java.io.IOException;
+import javax.faces.component.UIComponent;
+import javax.faces.view.facelets.FaceletContext;
+import javax.faces.view.facelets.TagConfig;
+
+/**
+ *
+ * Tag used to print out the String value of a user's default principal, or a
+ * specific principal as specified by the tag's attributes.
+ *
+ *
+ * If no attributes are specified, the tag prints out the toString()
+ * value of the user's default principal. If the type attribute is
+ * specified, the tag looks for a principal with the given type. If the
+ * property attribute is specified, the tag prints the string value of
+ * the specified property of the principal. If no principal is found or the user
+ * is not authenticated, the tag displays nothing unless a defaultValue
+ * is specified.
+ *
+ * @author Joern Muehlencord
+ */
+public class PrincipalTag extends AbstractTag {
+
+ public PrincipalTag(TagConfig config) {
+ super(config);
+ }
+
+ @Override
+ public void apply(FaceletContext fc, UIComponent uic) throws IOException {
+ throw new UnsupportedOperationException("PrincipalTag Not supported yet.");
+ }
+}
diff --git a/shiro-faces/src/main/resources/META-INF/shiro-faces.taglib.xml b/shiro-faces/src/main/resources/META-INF/shiro-faces.taglib.xml
new file mode 100644
index 0000000..6750002
--- /dev/null
+++ b/shiro-faces/src/main/resources/META-INF/shiro-faces.taglib.xml
@@ -0,0 +1,144 @@
+
+
+
+
+ http://shiro.apache.org/tags
+
+
+
+
+ authenticated
+ de.muehlencord.shirofaces.tags.AuthenticatedTag
+ Displays body content only if the current user has successfully authenticated
+ _during their current session_. It is more restrictive than the 'user' tag.
+ It is logically opposite to the 'notAuthenticated' tag.
+
+
+
+
+ guest
+ de.muehlencord.shirofaces.tags.GuestTag
+ Displays body content only if the current Subject IS NOT known to the system, either
+ because they have not logged in or they have no corresponding 'RememberMe' identity. It is logically
+ opposite to the 'user' tag.
+
+
+
+
+ hasAnyPermission
+ de.muehlencord.shirofaces.tags.HasAnyPermissionTag
+ Displays body content only if the current user has one of the specified permissions from a comma-separated list of permissions.
+
+ comma-separated list of permissions to check for
+ name
+ true
+
+
+
+
+ hasAnyRoles
+ de.muehlencord.shirofaces.tags.HasAnyRolesTag
+ Displays body content only if the current user has one of the specified roles from a comma-separated list of role names.
+
+ comma-separated list of roles to check for
+ name
+ true
+
+
+
+
+ hasPermission
+ de.muehlencord.shirofaces.tags.HasPermissionTag
+ Displays body content only if the current user the given permission.
+
+ the permission to check for
+ name
+ true
+
+
+
+
+ hasRole
+ de.muehlencord.shirofaces.tags.HasRoleTag
+ Displays body content only if the current user has the given role.
+
+ the role to check for
+ name
+ true
+
+
+
+
+ lacksPermission
+ de.muehlencord.shirofaces.tags.LacksPermissionTag
+ Displays body content only if the current user has NOT the given permission.
+
+ the permission to check for
+ name
+ true
+
+
+
+
+ lacksRole
+ de.muehlencord.shirofaces.tags.LacksRoleTag
+ Displays body content only if the current user has NOT the given role.
+
+ the role to check for
+ name
+ true
+
+
+
+
+
+ hasRole
+ de.muehlencord.shirofaces.tags.HasRoleTag
+
+ the name of the role to check for
+ name
+ true
+
+
+
+
+ notAuthenticated
+ de.muehlencord.shirofaces.tags.NotAuthenticatedTag
+ Displays body content only if the current user has NOT succesfully authenticated
+ _during their current session_. It is logically opposite to the 'authenticated' tag.
+
+
+
+
+ user
+ de.muehlencord.shirofaces.tags.UserTag
+ Displays body content only if the current Subject has a known identity, either
+ from a previous login or from 'RememberMe' services. Note that this is semantically different
+ from the 'authenticated' tag, which is more restrictive. It is logically
+ opposite to the 'guest' tag.
+
+
+
+
+
+
+
+
+
\ No newline at end of file