format 74
"Security" // default::Common::Models::Security
  revision 2
  modified_by 127 "neo"
  // class settings
  //class diagram settings
  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
  //use case diagram settings
  package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default show_stereotype_properties default
  //sequence diagram settings
  show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default show_class_context_mode default show_msg_context_mode default
  //collaboration diagram settings
  show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default show_msg_context default draw_all_relations default shadow default show_stereotype_properties default
  //object diagram settings
   write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
  //component diagram settings
  package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
  draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
  //deployment diagram settings
  package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
  draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
  //state diagram settings
  package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
  show_activities default region_horizontally default drawing_language default show_stereotype_properties default
  //activity diagram settings
  package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
  show_infonote default drawing_language default show_stereotype_properties default
  
  classview 128639 "Class View"
    //class diagram settings
    draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
    //collaboration diagram settings
    show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default show_msg_context default draw_all_relations default shadow default show_stereotype_properties default
    //object diagram settings
     write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
    //sequence diagram settings
    show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default show_class_context_mode default show_msg_context_mode default
    //state diagram settings
    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
    show_activities default region_horizontally default drawing_language default show_stereotype_properties default
    //class settings
    //activity diagram settings
    package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
    show_infonote default drawing_language default show_stereotype_properties default
    class 131071 "IAuthModel"
      abstract visibility package stereotype "interface"
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      operation 151039 "getAuthenticationData"
	public explicit_return_type ""
	nparams 1
	  param in name "$login" explicit_type "string"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)};"
	
	
      end
    end

    class 131199 "Acl"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "Access control list"
      attribute 133119 "_permissions"
	private explicit_type ""
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      operation 151167 "__construct"
	public explicit_return_type "void"
	nparams 1
	  param in name "$permissions" explicit_type ""
	
	
	php_def "  ${comment}${final}${visibility}${abstract}function ${name}${(}${)}
{
  ${body}}
"
	
	
      end

      operation 151295 "isAllowed"
	public explicit_return_type "void"
	nparams 3
	  param in name "$role" explicit_type "string"
	  param in name "$resource" explicit_type "string"
	  param in name "$privilege" explicit_type "string"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
      end

      classrelation 174335 // <realization>
	relation 173951 -_-|>
	  a public
	    php "${type}"
	    classrelation_ref 174335 // <realization>
	  b parent class_ref 166399 // IAuthorizator
      end
    end

    class 131327 "Authenticator"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "Users authenticator."
      attribute 133247 "_authModel"
	private type class_ref 131071 // IAuthModel
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 133375 "_loginHistory"
	private explicit_type ""
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      operation 151423 "__construct"
	public explicit_return_type "void"
	nparams 2
	  param in name "$authModel" type class_ref 131071 // IAuthModel
	  param in name "$loginHistory" explicit_type ""
	
	
	php_def "  ${comment}${final}${visibility}${abstract}function ${name}${(}${)}
{
  ${body}}
"
	
	
      end

      operation 151551 "authenticate"
	public explicit_return_type ""
	nparams 1
	  param in name "$credentials" explicit_type "array"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Performs an authentication."
      end

      operation 151679 "calculateHash"
	class_operation public explicit_return_type "string"
	nparams 2
	  param in name "$password" explicit_type "mixed"
	  param in name "$salt" explicit_type "mixed"
	    defaultvalue "NULL"
	
	
	php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	
	
	comment "Computes salted password hash."
      end

      classrelation 174207 // <realization>
	relation 173823 -_-|>
	  a public
	    php "${type}"
	    classrelation_ref 174207 // <realization>
	  b parent class_ref 166015 // IAuthenticator
      end

      classrelation 174463 // <dependency>
	relation 174079 -_->
	  a default
	    classrelation_ref 174463 // <dependency>
	  b parent class_ref 131071 // IAuthModel
      end
    end
  end
end
