Version: current

# Class SecurityAdmin

Security section of the CMS

  Object
  ViewableData implements IteratorAggregate
  RequestHandler
  Controller
  LeftAndMain
  SecurityAdmin implements PermissionProvider

Package: cms\security
Located at cms/code/SecurityAdmin.php

## Methods summary

`public` | # `init( )` #### Uses ``LeftAndMainDecorator::init()`` ``LeftAndMainDecorator::accessedCMS()`` ``CMSMenu`` #### Overrides `LeftAndMain::init`
`public` | # `getEditForm( mixed $id = null )`
`public `FieldSet`` | # `RootForm( )` #### Returns ``FieldSet`` FieldSet
`public` | # `memberimport( )`
`public `Form`` | # `MemberImportForm( )` #### Returns ``Form`` Form #### See SecurityAdmin_MemberImportForm
`public` | # `groupimport( )`
`public `Form`` | # `GroupImportForm( )` #### Returns ``Form`` Form #### See SecurityAdmin_MemberImportForm
`public` | # `AddRecordForm( )`
`public` | # `autocomplete( )` Ajax autocompletion Ajax autocompletion
`public` | # `MemberForm( )`
`public` | # `getMemberForm( mixed $id )`
`public` | # `savemember( )`
`public` | # `addmember( mixed $className = null )`
`public` | # `removememberfromgroup( )`
`public string` | # `SiteTreeAsUL( )` Return the entire site tree as a nested set of ULs. Return the entire site tree as a nested set of ULs. #### Returns `string` Unordered list HTML
`public` | # `addgroup( )`
`public` | # `EditedMember( )`
`public` | # `providePermissions( )` Return a map of permission codes to add to the dropdown shown in the Security section of the CMS. array( 'VIEW_SITE' => 'View the site', ); Return a map of permission codes to add to the dropdown shown in the Security section of the CMS. array( 'VIEW_SITE' => 'View the site', ); #### Implementation of `PermissionProvider::providePermissions()`
`public static` | # `add_hidden_permission( mixed $codes )` The permissions represented in the $codes will not appearing in the form containing `PermissionCheckboxSetField` so as not to be checked / unchecked. The permissions represented in the $codes will not appearing in the form containing `PermissionCheckboxSetField` so as not to be checked / unchecked. #### Parameters $codes $codes String|Array
`public static` | # `remove_hidden_permission( mixed $codes )` #### Parameters $codes $codes String|Array
`public static Array` | # `get_hidden_permissions( )` #### Returns `Array` Array
`public static` | # `clear_hidden_permissions( )` Clear all permissions previously hidden with `SecurityAdmin::add_hidden_permission()` Clear all permissions previously hidden with `SecurityAdmin::add_hidden_permission()`

### Methods inherited from LeftAndMain

`ApplicationLink()`, `CMSTopMenu()`, `CMSVersion()`, `CanOrganiseSitetree()`, `EditForm()`, `EditorToolbar()`, `EmptyForm()`, `ForceReload()`, `Left()`, `Link()`, `LoadingImage()`, `LogoStyle()`, `MainMenu()`, `MceRoot()`, `Member_ProfileForm()`, `Right()`, `SectionTitle()`, `ShowSwitchView()`, `SwitchView()`, `addTreeNodeJS()`, `ajaxupdateparent()`, `ajaxupdatesort()`, `callPageMethod()`, `canView()`, `currentPage()`, `currentPageID()`, `deleteTreeNodeJS()`, `deleteitems()`, `getActionUpdateJS()`, `getApplicationLogoText()`, `getApplicationName()`, `getLastFormIn()`, `getRecord()`, `getSiteTreeFor()`, `getTemplatesWithSuffix()`, `getitem()`, `getsubtree()`, `isCurrentPage()`, `menu_title_for_class()`, `myprofile()`, `printable()`, `require_css()`, `require_javascript()`, `require_themed_css()`, `returnItemToUser()`, `save()`, `setApplicationName()`, `setCurrentPageID()`, `setLogo()`, `set_loading_image()`, `show()`, `versionFromVersionFile()`

### Methods inherited from Controller

`CurrentMember()`, `Now()`, `PastMember()`, `PastVisitor()`, `can()`, `curr()`, `defaultAction()`, `disableBasicAuth()`, `getAction()`, `getFormOwner()`, `getRequest()`, `getResponse()`, `getSession()`, `getURLParams()`, `getViewer()`, `handleAction()`, `handleRequest()`, `hasAction()`, `hasActionTemplate()`, `has_curr()`, `isAjax()`, `join_links()`, `popCurrent()`, `pushCurrent()`, `redirect()`, `redirectBack()`, `redirectedTo()`, `render()`, `setSession()`, `setURLParams()`

### Methods inherited from RequestHandler

`__construct()`, `allowedActions()`, `checkAccessAction()`, `httpError()`

### Methods inherited from ViewableData

`ATT_val()`, `BaseHref()`, `CSSClasses()`, `ColumnBreak()`, `ColumnCalc()`, `ColumnNumber()`, `ColumnPad()`, `ColumnPos()`, `CurrentPage()`, `Debug()`, `Even()`, `EvenOdd()`, `First()`, `FirstLast()`, `HasPerm()`, `IsAjax()`, `JS_val()`, `Last()`, `Me()`, `Middle()`, `MiddleString()`, `Modulus()`, `MultipleOf()`, `Odd()`, `Pos()`, `RAW_val()`, `SQL_val()`, `ThemeDir()`, `ThemeName()`, `Top()`, `TotalItems()`, `XML_val()`, `__get()`, `__isset()`, `__set()`, `buildCastingCache()`, `cachedCall()`, `castingClass()`, `castingHelper()`, `castingHelperPair()`, `castingObjectCreator()`, `castingObjectCreatorPair()`, `customise()`, `defineMethods()`, `escapeTypeForField()`, `getField()`, `getIterator()`, `getSecurityID()`, `getXMLValues()`, `hasField()`, `hasValue()`, `i18nLocale()`, `iteratorProperties()`, `obj()`, `renderWith()`, `setCustomisedObj()`, `setField()`

### Methods inherited from Object

`__call()`, `__toString()`, `__wakeup()`, `addMethodsFrom()`, `addStaticVars()`, `addWrapperMethod()`, `add_extension()`, `add_static_var()`, `allMethodNames()`, `cacheToFile()`, `cacheToFileWithArgs()`, `clearCache()`, `combined_static()`, `create()`, `createMethod()`, `create_from_string()`, `exists()`, `extInstance()`, `extend()`, `getCustomClass()`, `getExtensionInstance()`, `getExtensionInstances()`, `get_extensions()`, `get_static()`, `hasExtension()`, `hasMethod()`, `has_extension()`, `invokeWithExtensions()`, `is_a()`, `loadCache()`, `parentClass()`, `parse_class_spec()`, `remove_extension()`, `sanitiseCachename()`, `saveCache()`, `set_stat()`, `set_static()`, `set_uninherited()`, `stat()`, `strong_create()`, `uninherited()`, `uninherited_static()`, `useCustomClass()`

### Magic methods summary

## Properties summary

`public static string` | $url_segment | #
`public static string` | $url_rule | #
`public static string` | $menu_title | #
`public static string` | $tree_class | #
`public static string` | $subitem_class | #
`public static array` | $allowed_actions | # Define a list of action handling methods that are allowed to be called directly by URLs. The variable should be an array of action names. This sample shows the different values that it can contain: Define a list of action handling methods that are allowed to be called directly by URLs. The variable should be an array of action names. This sample shows the different values that it can contain:
    array(
            'someaction', // someaction can be accessed by anyone, any time
            'otheraction' => true, // So can otheraction
            'restrictedaction' => 'ADMIN', // restrictedaction can only be people with ADMIN privilege
            'complexaction' '->canComplexAction' // complexaction can only be accessed if $this->canComplexAction() returns true
    );
`public static Array` | $hidden_permissions | #

### Properties inherited from LeftAndMain

`$ForceReload`, `$application_link`, `$application_logo`, `$application_logo_style`, `$application_logo_text`, `$application_name`, `$extra_requirements`, `$loading_image`, `$menu_priority`, `$url_base`, `$url_priority`

### Properties inherited from Controller

`$action`, `$baseInitCalled`, `$basicAuthEnabled`, `$controller_stack`, `$request`, `$requestParams`, `$response`, `$session`, `$urlParams`, `$url_handlers`

### Properties inherited from RequestHandler

`$brokenOnConstruct`

### Properties inherited from ViewableData

`$casting`, `$customisedObject`, `$default_cast`, `$failover`, `$iteratorPos`, `$iteratorTotalItems`

### Properties inherited from Object

`$class`, `$extension_instances`, `$extensions`

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -