<?xml version="1.0" encoding="UTF-8"?>
<Privilege>

	<Container>

		<Parameters>
			<!-- parameters for the container itself -->
			<Parameter name="secretKey" value="58d27145-5d1a-48ea-9e1c-f5a522f6a19f"/>
			<Parameter name="secretSalt" value="25bd8911-0008-464f-82b8-4c5200db8dd7"/>
			<Parameter name="autoPersistOnPasswordChange" value="true" />
			<Parameter name="privilegeConflictResolution" value="MERGE"/>
		</Parameters>

		<EncryptionHandler class="li.strolch.privilege.handler.DefaultEncryptionHandler">
			<Parameters>
				<!-- WARNING: If you change iterations or keyLength, then all passwords are invalid -->
				<!-- default algorithm is: PBKDF2WithHmacSHA512 -->
				<Parameter name="hashAlgorithm" value="PBKDF2WithHmacSHA512" />
				<!-- default iterations: 200000 -->
				<Parameter name="hashIterations" value="10000" />
				<!-- default key length: 256 -->
				<Parameter name="hashKeyLength" value="256" />
			</Parameters>
		</EncryptionHandler>

		<PersistenceHandler class="li.strolch.privilege.handler.XmlPersistenceHandler">
			<Parameters>
				<Parameter name="usersXmlFile" value="PrivilegeUsers.xml" />
				<Parameter name="rolesXmlFile" value="PrivilegeRoles.xml" />
			</Parameters>
		</PersistenceHandler>

		<UserChallengeHandler class="li.strolch.privilege.handler.ConsoleUserChallengeHandler">
		</UserChallengeHandler>

	</Container>

	<Policies>
		<Policy name="DefaultPrivilege" class="li.strolch.privilege.policy.DefaultPrivilege"/>
		<Policy name="ModelPrivilege" class="li.strolch.runtime.privilege.ModelPrivilege"/>
		<Policy name="RoleAccessPrivilege" class="li.strolch.privilege.policy.RoleAccessPrivilege"/>
		<Policy name="UserAccessPrivilege" class="li.strolch.privilege.policy.UserAccessPrivilege"/>
		<Policy name="UserSessionAccessPrivilege" class="li.strolch.privilege.policy.UsernameFromCertificatePrivilege"/>
	</Policies>

</Privilege>