All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.27.27.35374a790dde13712dd5.js Maven / Gradle / Ivy

There is a newer version: 6.0.6
Show newest version
webpackJsonp([27],{566:function(module,exports,__webpack_require__){eval('exports = module.exports = __webpack_require__(28)();\n// imports\n\n\n// module\nexports.push([module.id, ".ldap-test-login-result h4{margin-bottom:10px}.ldap-test-login-result .login-status{padding:0;margin-bottom:10px}.ldap-test-login-result .login-status li{display:inline-block;margin-right:20px}.ldap-success{color:green}.ldap-failure{color:maroon}.ldap-info{color:#337ab7}", ""]);\n\n// exports\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/css-loader!./src/components/ldap/TestLdapLogin.css\n ** module id = 566\n ** module chunks = 27\n **/\n//# sourceURL=webpack:///./src/components/ldap/TestLdapLogin.css?./~/css-loader')},863:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(4);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _reactRouterBootstrap = __webpack_require__(19);\n\nvar _urijs = __webpack_require__(97);\n\nvar _urijs2 = _interopRequireDefault(_urijs);\n\nvar _javascriptNaturalSort = __webpack_require__(45);\n\nvar _javascriptNaturalSort2 = _interopRequireDefault(_javascriptNaturalSort);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _utilObjectUtils = __webpack_require__(57);\n\nvar _utilObjectUtils2 = _interopRequireDefault(_utilObjectUtils);\n\nvar _routingRoutes = __webpack_require__(13);\n\nvar _routingRoutes2 = _interopRequireDefault(_routingRoutes);\n\nvar _TestLdapConnection = __webpack_require__(865);\n\nvar _TestLdapConnection2 = _interopRequireDefault(_TestLdapConnection);\n\nvar _TestLdapLogin = __webpack_require__(866);\n\nvar _TestLdapLogin2 = _interopRequireDefault(_TestLdapLogin);\n\nvar _injectionStoreProvider = __webpack_require__(3);\n\nvar _injectionStoreProvider2 = _interopRequireDefault(_injectionStoreProvider);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar RolesStore = _injectionStoreProvider2['default'].getStore('Roles');\nvar LdapStore = _injectionStoreProvider2['default'].getStore('Ldap');\n\nvar LdapActions = _injectionActionsProvider2['default'].getActions('Ldap');\n\nvar HelperText = {\n  activeDirectory: {\n    SYSTEM_USERNAME: _react2['default'].createElement(\n      'span',\n      null,\n      'The username for the initial connection to the Active Directory server, e.g. ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        '[email protected]'\n      ),\n      '.',\n      _react2['default'].createElement('br', null),\n      'This needs to match the ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        'userPrincipalName'\n      ),\n      ' of that user.'\n    ),\n    SYSTEM_PASSWORD: 'The password for the initial connection to the Active Directory server.',\n    SEARCH_BASE: _react2['default'].createElement(\n      'span',\n      null,\n      'The base tree to limit the Active Directory search query to, e.g. ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        'cn=users,dc=example,dc=com'\n      ),\n      '.'\n    ),\n    SEARCH_PATTERN: _react2['default'].createElement(\n      'span',\n      null,\n      'For example ',\n      _react2['default'].createElement(\n        'code',\n        { className: 'text-nowrap' },\n        '(&(objectClass=user)(sAMAccountName={0}))'\n      ),\n      '.',\n      ' ',\n      'The string ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        '{0}'\n      ),\n      ' will be replaced by the entered username.'\n    ),\n    DISPLAY_NAME: _react2['default'].createElement(\n      'span',\n      null,\n      'Which Active Directory attribute to use for the full name of the user in Graylog, e.g. ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        'displayName'\n      ),\n      '.',\n      _react2['default'].createElement('br', null),\n      'Try to load a test user using the form below, if you are unsure which attribute to use.'\n    ),\n    GROUP_SEARCH_BASE: _react2['default'].createElement(\n      'span',\n      null,\n      'The base tree to limit the Active Directory group search query to, e.g. ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        'cn=users,dc=example,dc=com'\n      ),\n      '.'\n    ),\n    GROUP_PATTERN: _react2['default'].createElement(\n      'span',\n      null,\n      'The search pattern used to find groups in Active Directory for mapping to Graylog roles, e.g.',\n      ' ',\n      _react2['default'].createElement(\n        'code',\n        { className: 'text-nowrap' },\n        '(objectClass=group)'\n      ),\n      ' or',\n      ' ',\n      _react2['default'].createElement(\n        'code',\n        { className: 'text-nowrap' },\n        '(&(objectClass=group)(cn=graylog*))'\n      ),\n      '.'\n    ),\n    GROUP_ID: _react2['default'].createElement(\n      'span',\n      null,\n      'Which Active Directory attribute to use for the full name of the group, usually ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        'cn'\n      ),\n      '.'\n    ),\n    DEFAULT_GROUP: _react2['default'].createElement(\n      'span',\n      null,\n      'The default Graylog role determines whether a user created via Active Directory can access the entire system, or has limited access.',\n      _react2['default'].createElement('br', null),\n      'You can assign additional permissions by',\n      ' ',\n      _react2['default'].createElement(\n        _reactRouterBootstrap.LinkContainer,\n        { to: _routingRoutes2['default'].SYSTEM.LDAP.GROUPS },\n        _react2['default'].createElement(\n          'a',\n          null,\n          'mapping Active Directory groups to Graylog roles'\n        )\n      ),\n      ',',\n      ' ',\n      'or you can assign additional Graylog roles to Active Directory users below.'\n    ),\n    ADDITIONAL_GROUPS: 'Choose the additional roles each Active Directory user will have by default, leave it empty if you want to map Active Directory groups to Graylog roles.'\n  },\n\n  ldap: {\n    SYSTEM_USERNAME: _react2['default'].createElement(\n      'span',\n      null,\n      'The username for the initial connection to the LDAP server, e.g.',\n      ' ',\n      _react2['default'].createElement(\n        'code',\n        { className: 'text-nowrap' },\n        'uid=admin,ou=system'\n      ),\n      ', this might be optional depending on your LDAP server.'\n    ),\n    SYSTEM_PASSWORD: 'The password for the initial connection to the LDAP server.',\n    SEARCH_BASE: _react2['default'].createElement(\n      'span',\n      null,\n      'The base tree to limit the LDAP search query to, e.g. ',\n      _react2['default'].createElement(\n        'code',\n        {\n          className: 'text-nowrap' },\n        'cn=users,dc=example,dc=com'\n      ),\n      '.'\n    ),\n    SEARCH_PATTERN: _react2['default'].createElement(\n      'span',\n      null,\n      'For example ',\n      _react2['default'].createElement(\n        'code',\n        { className: 'text-nowrap' },\n        '(&(objectClass=inetOrgPerson)(uid={0}))'\n      ),\n      '.',\n      ' ',\n      'The string ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        '{0}'\n      ),\n      ' will be replaced by the entered username.'\n    ),\n    DISPLAY_NAME: _react2['default'].createElement(\n      'span',\n      null,\n      'Which LDAP attribute to use for the full name of the user in Graylog, e.g. ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        'cn'\n      ),\n      '.',\n      _react2['default'].createElement('br', null),\n      'Try to load a test user using the form below, if you are unsure which attribute to use.'\n    ),\n    GROUP_SEARCH_BASE: _react2['default'].createElement(\n      'span',\n      null,\n      'The base tree to limit the LDAP group search query to, e.g. ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        'cn=users,dc=example,dc=com'\n      ),\n      '.'\n    ),\n    GROUP_PATTERN: _react2['default'].createElement(\n      'span',\n      null,\n      'The search pattern used to find groups in LDAP for mapping to Graylog roles, e.g.',\n      ' ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        '(objectClass=groupOfNames)'\n      ),\n      ' or',\n      ' ',\n      _react2['default'].createElement(\n        'code',\n        { className: 'text-nowrap' },\n        '(&(objectClass=groupOfNames)(cn=graylog*))'\n      ),\n      '.'\n    ),\n    GROUP_ID: _react2['default'].createElement(\n      'span',\n      null,\n      'Which LDAP attribute to use for the full name of the group, usually ',\n      _react2['default'].createElement(\n        'code',\n        null,\n        'cn'\n      ),\n      '.'\n    ),\n    DEFAULT_GROUP: _react2['default'].createElement(\n      'span',\n      null,\n      'The default Graylog role determines whether a user created via LDAP can access the entire system, or has limited access.',\n      _react2['default'].createElement('br', null),\n      'You can assign additional permissions by',\n      ' ',\n      _react2['default'].createElement(\n        _reactRouterBootstrap.LinkContainer,\n        { to: _routingRoutes2['default'].SYSTEM.LDAP.GROUPS },\n        _react2['default'].createElement(\n          'a',\n          null,\n          'mapping LDAP groups to Graylog roles'\n        )\n      ),\n      ',',\n      ' ',\n      'or you can assign additional Graylog roles to LDAP users below.'\n    ),\n    ADDITIONAL_GROUPS: 'Choose the additional roles each LDAP user will have by default, leave it empty if you want to map LDAP groups to Graylog roles.'\n  }\n};\n\nvar LdapComponent = _react2['default'].createClass({\n  displayName: 'LdapComponent',\n\n  mixins: [_reflux2['default'].listenTo(LdapStore, '_onLdapSettingsChange', '_onLdapSettingsChange')],\n  getInitialState: function getInitialState() {\n    return {\n      ldapSettings: undefined,\n      ldapUri: undefined,\n      roles: undefined\n    };\n  },\n\n  componentDidMount: function componentDidMount() {\n    var _this = this;\n\n    RolesStore.loadRoles().then(function (roles) {\n      _this.setState({ roles: _this._formatAdditionalRoles(roles) });\n    });\n  },\n\n  _formatAdditionalRoles: function _formatAdditionalRoles(roles) {\n    return roles.filter(function (r) {\n      return !(r.name.toLowerCase() === 'reader' || r.name.toLowerCase() === 'admin');\n    }).sort(function (r1, r2) {\n      return (0, _javascriptNaturalSort2['default'])(r1.name.toLowerCase(), r2.name.toLowerCase());\n    }).map(function (r) {\n      return { label: r.name, value: r.name };\n    });\n  },\n\n  _onLdapSettingsChange: function _onLdapSettingsChange(state) {\n    if (!state.ldapSettings) {\n      return;\n    }\n\n    // Clone settings object, so we don't the store reference\n    var settings = _utilObjectUtils2['default'].clone(state.ldapSettings);\n    var ldapUri = new _urijs2['default'](settings.ldap_uri);\n    this.setState({ ldapSettings: settings, ldapUri: ldapUri });\n  },\n\n  _isLoading: function _isLoading() {\n    return !this.state.ldapSettings || !this.state.roles;\n  },\n\n  _bindChecked: function _bindChecked(ev, value) {\n    this._setSetting(ev.target.name, typeof value === 'undefined' ? ev.target.checked : value);\n  },\n\n  _bindValue: function _bindValue(ev) {\n    this._setSetting(ev.target.name, ev.target.value);\n  },\n\n  _updateSsl: function _updateSsl(ev) {\n    this._setUriScheme(ev.target.checked ? 'ldaps' : 'ldap');\n  },\n\n  _setSetting: function _setSetting(attribute, value) {\n    var newState = {};\n\n    var formattedValue = value;\n    // Convert URI object into string to store it in the state\n    if (attribute === 'ldap_uri' && typeof value === 'object') {\n      newState.ldapUri = value;\n      formattedValue = value.toString();\n    }\n\n    // Clone state to not modify it directly\n    var settings = _utilObjectUtils2['default'].clone(this.state.ldapSettings);\n    settings[attribute] = formattedValue;\n    newState.ldapSettings = settings;\n    newState.serverConnectionStatus = {};\n    this.setState(newState);\n  },\n\n  _setUriScheme: function _setUriScheme(scheme) {\n    var ldapUri = this.state.ldapUri.clone();\n    ldapUri.scheme(scheme);\n    this._setSetting('ldap_uri', ldapUri);\n  },\n\n  _uriScheme: function _uriScheme() {\n    return this.state.ldapUri.scheme() + '://';\n  },\n\n  _setUriHost: function _setUriHost(host) {\n    var ldapUri = this.state.ldapUri.clone();\n    ldapUri.hostname(host);\n    this._setSetting('ldap_uri', ldapUri);\n  },\n\n  _uriHost: function _uriHost() {\n    return this.state.ldapUri.hostname();\n  },\n\n  _setUriPort: function _setUriPort(port) {\n    var ldapUri = this.state.ldapUri.clone();\n    ldapUri.port(port);\n    this._setSetting('ldap_uri', ldapUri);\n  },\n\n  _uriPort: function _uriPort() {\n    return this.state.ldapUri.port();\n  },\n\n  _setAdditionalDefaultGroups: function _setAdditionalDefaultGroups(rolesString) {\n    // only keep non-empty entries\n    var roles = rolesString.split(',').filter(function (v) {\n      return v !== '';\n    });\n    this._setSetting('additional_default_groups', roles);\n  },\n\n  _saveSettings: function _saveSettings(event) {\n    event.preventDefault();\n    LdapActions.update(this.state.ldapSettings);\n  },\n\n  render: function render() {\n    var _this2 = this;\n\n    if (this._isLoading()) {\n      return _react2['default'].createElement(_componentsCommon.Spinner, null);\n    }\n\n    var isAD = this.state.ldapSettings.active_directory;\n    var disabled = !this.state.ldapSettings.enabled;\n    var help = isAD ? HelperText.activeDirectory : HelperText.ldap;\n\n    var rolesOptions = this.state.roles;\n\n    return _react2['default'].createElement(\n      _reactBootstrap.Row,\n      null,\n      _react2['default'].createElement(\n        _reactBootstrap.Col,\n        { lg: 8 },\n        _react2['default'].createElement(\n          'form',\n          { id: 'ldap-settings-form', className: 'form-horizontal', onSubmit: this._saveSettings },\n          _react2['default'].createElement(_reactBootstrap.Input, { type: 'checkbox', label: 'Enable LDAP',\n            help: 'User accounts will be taken from LDAP/Active Directory, the administrator account will still be available.',\n            wrapperClassName: 'col-sm-offset-3 col-sm-9',\n            name: 'enabled',\n            checked: this.state.ldapSettings.enabled,\n            onChange: this._bindChecked }),\n          _react2['default'].createElement(\n            'fieldset',\n            null,\n            _react2['default'].createElement(\n              'legend',\n              { className: 'col-sm-12' },\n              '1. Server configuration'\n            ),\n            _react2['default'].createElement(\n              _reactBootstrap.Input,\n              { id: 'active_directory', labelClassName: 'col-sm-3',\n                wrapperClassName: 'col-sm-9', label: 'Server Type' },\n              _react2['default'].createElement(\n                'label',\n                { className: 'radio-inline' },\n                _react2['default'].createElement('input', { type: 'radio', name: 'active_directory',\n                  checked: !isAD, disabled: disabled,\n                  onChange: function (ev) {\n                    return _this2._bindChecked(ev, false);\n                  } }),\n                'LDAP'\n              ),\n              _react2['default'].createElement(\n                'label',\n                { className: 'radio-inline' },\n                _react2['default'].createElement('input', { type: 'radio', name: 'active_directory',\n                  checked: isAD, disabled: disabled,\n                  onChange: function (ev) {\n                    return _this2._bindChecked(ev, true);\n                  } }),\n                'Active Directory'\n              )\n            ),\n            _react2['default'].createElement(\n              _reactBootstrap.Input,\n              { id: 'ldap-uri-host', labelClassName: 'col-sm-3',\n                wrapperClassName: 'col-sm-9', label: 'Server Address' },\n              _react2['default'].createElement(\n                'div',\n                { className: 'input-group' },\n                _react2['default'].createElement(\n                  'span',\n                  { className: 'input-group-addon' },\n                  this._uriScheme()\n                ),\n                _react2['default'].createElement('input', { type: 'text', className: 'form-control', id: 'ldap-uri-host', value: this._uriHost(),\n                  placeholder: 'Hostname', required: true, onChange: function (ev) {\n                    return _this2._setUriHost(ev.target.value);\n                  },\n                  disabled: disabled }),\n                _react2['default'].createElement(\n                  'span',\n                  { className: 'input-group-addon input-group-separator' },\n                  ':'\n                ),\n                _react2['default'].createElement('input', { type: 'number', className: 'form-control', id: 'ldap-uri-port', value: this._uriPort(), min: '1',\n                  max: '65535', placeholder: 'Port',\n                  required: true, style: { width: 120 }, onChange: function (ev) {\n                    return _this2._setUriPort(ev.target.value);\n                  },\n                  disabled: disabled })\n              ),\n              _react2['default'].createElement(\n                'label',\n                { className: 'checkbox-inline' },\n                _react2['default'].createElement('input', { type: 'checkbox', name: 'ssl', checked: this.state.ldapUri.scheme() === 'ldaps',\n                  onChange: this._updateSsl,\n                  disabled: disabled }),\n                ' SSL'\n              ),\n              _react2['default'].createElement(\n                'label',\n                { className: 'checkbox-inline' },\n                _react2['default'].createElement('input', { type: 'checkbox', name: 'use_start_tls', value: 'true', id: 'ldap-uri-starttls',\n                  checked: this.state.ldapSettings.use_start_tls, onChange: this._bindChecked,\n                  disabled: disabled }),\n                ' StartTLS'\n              ),\n              _react2['default'].createElement(\n                'label',\n                { className: 'checkbox-inline' },\n                _react2['default'].createElement('input', { type: 'checkbox', name: 'trust_all_certificates', value: 'true', id: 'trust-all-certificates',\n                  checked: this.state.ldapSettings.trust_all_certificates, onChange: this._bindChecked,\n                  disabled: disabled }),\n                ' Allow self-signed certificates'\n              )\n            ),\n            _react2['default'].createElement(_reactBootstrap.Input, { type: 'text', id: 'system_username', name: 'system_username', labelClassName: 'col-sm-3',\n              wrapperClassName: 'col-sm-9', placeholder: 'System User DN', label: 'System Username',\n              value: this.state.ldapSettings.system_username, help: help.SYSTEM_USERNAME,\n              onChange: this._bindValue, disabled: disabled }),\n            _react2['default'].createElement(_reactBootstrap.Input, { type: 'password', id: 'system_password', name: 'system_password', labelClassName: 'col-sm-3',\n              wrapperClassName: 'col-sm-9', placeholder: 'System Password', label: 'System Password',\n              value: this.state.ldapSettings.system_password, help: help.SYSTEM_PASSWORD,\n              onChange: this._bindValue, disabled: disabled })\n          ),\n          _react2['default'].createElement(\n            'fieldset',\n            null,\n            _react2['default'].createElement(\n              'legend',\n              { className: 'col-sm-12' },\n              '2. Connection Test'\n            ),\n            _react2['default'].createElement(_TestLdapConnection2['default'], { ldapSettings: this.state.ldapSettings, ldapUri: this.state.ldapUri, disabled: disabled })\n          ),\n          _react2['default'].createElement(\n            'fieldset',\n            null,\n            _react2['default'].createElement(\n              'legend',\n              { className: 'col-sm-12' },\n              '3. User mapping'\n            ),\n            _react2['default'].createElement(_reactBootstrap.Input, { type: 'text', id: 'search_base', name: 'search_base', labelClassName: 'col-sm-3',\n              wrapperClassName: 'col-sm-9', placeholder: 'Search Base', label: 'Search Base DN',\n              value: this.state.ldapSettings.search_base, help: help.SEARCH_BASE,\n              onChange: this._bindValue, disabled: disabled, required: true }),\n            _react2['default'].createElement(_reactBootstrap.Input, { type: 'text', id: 'search_pattern', name: 'search_pattern', labelClassName: 'col-sm-3',\n              wrapperClassName: 'col-sm-9', placeholder: 'Search Pattern', label: 'User Search Pattern',\n              value: this.state.ldapSettings.search_pattern, help: help.SEARCH_PATTERN,\n              onChange: this._bindValue, disabled: disabled, required: true }),\n            _react2['default'].createElement(_reactBootstrap.Input, { type: 'text', id: 'display_name_attribute', name: 'display_name_attribute', labelClassName: 'col-sm-3',\n              wrapperClassName: 'col-sm-9', placeholder: 'Display Name Attribute', label: 'Display Name attribute',\n              value: this.state.ldapSettings.display_name_attribute, help: help.DISPLAY_NAME,\n              onChange: this._bindValue, disabled: disabled, required: true })\n          ),\n          _react2['default'].createElement(\n            'fieldset',\n            null,\n            _react2['default'].createElement(\n              'legend',\n              { className: 'col-sm-12' },\n              '4. Group Mapping',\n              _react2['default'].createElement(\n                'small',\n                null,\n                '(optional)'\n              )\n            ),\n            _react2['default'].createElement(_reactBootstrap.Input, { type: 'text', id: 'group_search_base', name: 'group_search_base', labelClassName: 'col-sm-3',\n              wrapperClassName: 'col-sm-9', placeholder: 'Group Search Base', label: 'Group Search Base DN',\n              value: this.state.ldapSettings.group_search_base, help: help.GROUP_SEARCH_BASE,\n              onChange: this._bindValue, disabled: disabled }),\n            _react2['default'].createElement(_reactBootstrap.Input, { type: 'text', id: 'group_search_pattern', name: 'group_search_pattern', labelClassName: 'col-sm-3',\n              wrapperClassName: 'col-sm-9', placeholder: 'Group Search Pattern', label: 'Group Search Pattern',\n              value: this.state.ldapSettings.group_search_pattern, help: help.GROUP_PATTERN,\n              onChange: this._bindValue, disabled: disabled }),\n            _react2['default'].createElement(_reactBootstrap.Input, { type: 'text', id: 'group_id_attribute', name: 'group_id_attribute', labelClassName: 'col-sm-3',\n              wrapperClassName: 'col-sm-9', placeholder: 'Group Id Attribute', label: 'Group Name Attribute',\n              value: this.state.ldapSettings.group_id_attribute, help: help.GROUP_ID,\n              onChange: this._bindValue, disabled: disabled }),\n            _react2['default'].createElement(\n              _reactBootstrap.Input,\n              { id: 'default_group', labelClassName: 'col-sm-3',\n                wrapperClassName: 'col-sm-9', label: 'Default User Role',\n                help: help.DEFAULT_GROUP },\n              _react2['default'].createElement(\n                _reactBootstrap.Row,\n                null,\n                _react2['default'].createElement(\n                  _reactBootstrap.Col,\n                  { sm: 4 },\n                  _react2['default'].createElement(\n                    'select',\n                    { id: 'default_group', name: 'default_group', className: 'form-control', required: true,\n                      value: this.state.ldapSettings.default_group.toLowerCase(), disabled: disabled,\n                      onChange: function (ev) {\n                        return _this2._setSetting('default_group', ev.target.value);\n                      } },\n                    _react2['default'].createElement(\n                      'option',\n                      { value: 'reader' },\n                      'Reader - basic access'\n                    ),\n                    _react2['default'].createElement(\n                      'option',\n                      { value: 'admin' },\n                      'Administrator - complete access'\n                    )\n                  )\n                )\n              )\n            ),\n            _react2['default'].createElement(\n              _reactBootstrap.Row,\n              null,\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 9, smOffset: 3 },\n                _react2['default'].createElement(\n                  _reactBootstrap.Panel,\n                  { bsStyle: 'info' },\n                  'Changing the static role assignment will only affect to new users created via LDAP/Active Directory!',\n                  _react2['default'].createElement('br', null),\n                  'Existing user accounts will be updated on their next login, or if you edit their roles manually.'\n                )\n              )\n            ),\n            _react2['default'].createElement(\n              _reactBootstrap.Input,\n              { id: 'additional_default_groups', labelClassName: 'col-sm-3',\n                wrapperClassName: 'col-sm-9', label: 'Additional Default Roles',\n                help: help.ADDITIONAL_GROUPS },\n              _react2['default'].createElement(_componentsCommon.MultiSelect, {\n                ref: 'select',\n                options: rolesOptions,\n                disabled: disabled,\n                value: this.state.ldapSettings.additional_default_groups,\n                onChange: function (roles) {\n                  return _this2._setAdditionalDefaultGroups(roles);\n                },\n                placeholder: 'Choose additional roles...'\n              })\n            ),\n            _react2['default'].createElement(\n              _reactBootstrap.Row,\n              null,\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 9, smOffset: 3 },\n                _react2['default'].createElement(\n                  _reactBootstrap.Panel,\n                  { bsStyle: 'info' },\n                  'Changing the static role assignment will only affect to new users created via LDAP/Active Directory!',\n                  _react2['default'].createElement('br', null),\n                  'Existing user accounts will be updated on their next login, or if you edit their roles manually.'\n                )\n              )\n            )\n          ),\n          _react2['default'].createElement(\n            'fieldset',\n            null,\n            _react2['default'].createElement(\n              'legend',\n              { className: 'col-sm-12' },\n              '5. Login test'\n            ),\n            _react2['default'].createElement(_TestLdapLogin2['default'], { ldapSettings: this.state.ldapSettings, disabled: disabled })\n          ),\n          _react2['default'].createElement(\n            'fieldset',\n            null,\n            _react2['default'].createElement(\n              'legend',\n              { className: 'col-sm-12' },\n              '6. Store settings'\n            ),\n            _react2['default'].createElement(\n              'div',\n              { className: 'form-group' },\n              _react2['default'].createElement(\n                _reactBootstrap.Col,\n                { sm: 9, smOffset: 3 },\n                _react2['default'].createElement(\n                  _reactBootstrap.Button,\n                  { type: 'submit', bsStyle: 'success' },\n                  'Save LDAP settings'\n                )\n              )\n            )\n          )\n        )\n      )\n    );\n  }\n});\n\nexports['default'] = LdapComponent;\nmodule.exports = exports['default'];\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"LdapComponent.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/ldap/LdapComponent.jsx\n ** module id = 863\n ** module chunks = 27\n **/\n//# sourceURL=webpack:///./src/components/ldap/LdapComponent.jsx?")},865:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar LdapActions = _injectionActionsProvider2['default'].getActions('Ldap');\n\nvar TestLdapConnection = _react2['default'].createClass({\n  displayName: 'TestLdapConnection',\n\n  propTypes: {\n    ldapSettings: _react.PropTypes.object.isRequired,\n    ldapUri: _react.PropTypes.object.isRequired,\n    disabled: _react.PropTypes.bool\n  },\n\n  getInitialState: function getInitialState() {\n    return {\n      serverConnectionStatus: {}\n    };\n  },\n\n  componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n    // Reset connection status if ldapSettings changed\n    if (JSON.stringify(this.props.ldapSettings) !== JSON.stringify(nextProps.ldapSettings)) {\n      this.setState({ serverConnectionStatus: {} });\n    }\n  },\n\n  _testServerConnection: function _testServerConnection() {\n    var _this = this;\n\n    LdapActions.testServerConnection.triggerPromise(this.props.ldapSettings).then(function (result) {\n      if (result.connected) {\n        _this.setState({ serverConnectionStatus: { loading: false, success: true } });\n      } else {\n        _this.setState({ serverConnectionStatus: { loading: false, error: result.exception } });\n      }\n    }, function () {\n      _this.setState({\n        serverConnectionStatus: {\n          loading: false,\n          error: 'Unable to check connection, please try again.'\n        }\n      });\n    });\n\n    this.setState({ serverConnectionStatus: { loading: true } });\n  },\n\n  _getServerConnectionStyle: function _getServerConnectionStyle() {\n    if (this.state.serverConnectionStatus.success) {\n      return 'success';\n    }\n    if (this.state.serverConnectionStatus.error) {\n      return 'danger';\n    }\n\n    return 'info';\n  },\n\n  render: function render() {\n    var serverConnectionStatus = this.state.serverConnectionStatus;\n    var isDisabled = this.props.disabled || this.props.ldapUri.hostname() === '' || serverConnectionStatus.loading;\n\n    var serverConnectionResult = undefined;\n    if (serverConnectionStatus.error) {\n      serverConnectionResult = _react2['default'].createElement(\n        _reactBootstrap.Alert,\n        { bsStyle: 'danger' },\n        serverConnectionStatus.error\n      );\n    }\n    if (serverConnectionStatus.success) {\n      serverConnectionResult = _react2['default'].createElement(\n        _reactBootstrap.Alert,\n        { bsStyle: 'success' },\n        'Connection to server was successful'\n      );\n    }\n\n    return _react2['default'].createElement(\n      'div',\n      { className: 'form-group' },\n      _react2['default'].createElement(\n        _reactBootstrap.Row,\n        null,\n        _react2['default'].createElement(\n          _reactBootstrap.Col,\n          { sm: 9, smOffset: 3 },\n          _react2['default'].createElement(\n            _reactBootstrap.Button,\n            { id: 'ldap-test-connection', bsStyle: this._getServerConnectionStyle(),\n              disabled: isDisabled,\n              onClick: this._testServerConnection },\n            serverConnectionStatus.loading ? 'Testing...' : 'Test Server Connection'\n          ),\n          _react2['default'].createElement(\n            'span',\n            {\n              className: 'help-block' },\n            'Performs a background connection check with the address and credentials above.'\n          ),\n          serverConnectionResult\n        )\n      )\n    );\n  }\n});\n\nexports['default'] = TestLdapConnection;\nmodule.exports = exports['default'];\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"TestLdapConnection.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/ldap/TestLdapConnection.jsx\n ** module id = 865\n ** module chunks = 27\n **/\n//# sourceURL=webpack:///./src/components/ldap/TestLdapConnection.jsx?");
},866:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _utilObjectUtils = __webpack_require__(57);\n\nvar _utilObjectUtils2 = _interopRequireDefault(_utilObjectUtils);\n\nvar _injectionActionsProvider = __webpack_require__(6);\n\nvar _injectionActionsProvider2 = _interopRequireDefault(_injectionActionsProvider);\n\nvar LdapActions = _injectionActionsProvider2['default'].getActions('Ldap');\n\nvar TestLdapLogin = _react2['default'].createClass({\n  displayName: 'TestLdapLogin',\n\n  propTypes: {\n    ldapSettings: _react.PropTypes.object.isRequired,\n    disabled: _react.PropTypes.bool\n  },\n\n  getInitialState: function getInitialState() {\n    return {\n      loginUser: '',\n      loginPassword: '',\n      loginStatus: {}\n    };\n  },\n\n  componentDidMount: function componentDidMount() {\n    this.style.use();\n  },\n\n  componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n    // Reset login status if ldapSettings changed\n    if (JSON.stringify(this.props.ldapSettings) !== JSON.stringify(nextProps.ldapSettings)) {\n      this.setState({ loginStatus: {} });\n    }\n  },\n\n  componentWillUnmount: function componentWillUnmount() {\n    this.style.unuse();\n  },\n\n  style: __webpack_require__(1149),\n\n  _changeLoginForm: function _changeLoginForm(event) {\n    var newState = {};\n    var key = event.target.name === 'test_login_username' ? 'loginUser' : 'loginPassword';\n    newState[key] = event.target.value;\n    newState.loginStatus = {};\n    this.setState(newState);\n  },\n\n  _disableSubmitOnEnter: function _disableSubmitOnEnter(event) {\n    if (event.key && event.key === 'Enter') {\n      event.preventDefault();\n    }\n  },\n\n  _testLogin: function _testLogin() {\n    var _this = this;\n\n    LdapActions.testLogin.triggerPromise(this.props.ldapSettings, this.state.loginUser, this.state.loginPassword).then(function (result) {\n      if (result.connected && (result.login_authenticated || !_utilObjectUtils2['default'].isEmpty(result.entry))) {\n        _this.setState({ loginStatus: { loading: false, success: true, result: result } });\n      } else {\n        _this.setState({ loginStatus: { loading: false, error: true, result: result } });\n      }\n    }, function () {\n      _this.setState({\n        loginStatus: {\n          loading: false,\n          error: true,\n          result: {\n            exception: 'Unable to test login, please try again.'\n          }\n        }\n      });\n    });\n\n    this.setState({ loginStatus: { loading: true } });\n  },\n\n  _loginTestButtonStyle: function _loginTestButtonStyle() {\n    if (this.state.loginStatus.success) {\n      return 'success';\n    }\n    if (this.state.loginStatus.error) {\n      return 'danger';\n    }\n\n    return 'info';\n  },\n\n  _formatLoginStatus: function _formatLoginStatus(loginStatus) {\n    // Don't show any status if login didn't complete\n    if (!loginStatus.error && !loginStatus.success) {\n      return null;\n    }\n\n    var title = 'Connection ' + (loginStatus.error ? 'failed' : 'successful');\n    var style = loginStatus.error ? 'danger' : 'success';\n\n    var userFound = undefined;\n    if (_utilObjectUtils2['default'].isEmpty(loginStatus.result.entry)) {\n      userFound = _react2['default'].createElement('i', { className: 'fa fa-times ldap-failure' });\n    } else {\n      userFound = _react2['default'].createElement('i', { className: 'fa fa-check ldap-success' });\n    }\n\n    var loginCheck = undefined;\n    if (loginStatus.result.login_authenticated) {\n      loginCheck = _react2['default'].createElement('i', { className: 'fa fa-check ldap-success' });\n    } else {\n      if (this.state.loginPassword === '') {\n        loginCheck = _react2['default'].createElement('i', { className: 'fa fa-question ldap-info' });\n      } else {\n        loginCheck = _react2['default'].createElement('i', { className: 'fa fa-times ldap-failure' });\n      }\n    }\n\n    var serverResponse = undefined;\n    if (loginStatus.result.exception) {\n      serverResponse = _react2['default'].createElement(\n        'pre',\n        null,\n        loginStatus.result.exception\n      );\n    }\n\n    var attributes = Object.keys(loginStatus.result.entry).map(function (key) {\n      return [_react2['default'].createElement(\n        'dt',\n        null,\n        key\n      ), _react2['default'].createElement(\n        'dd',\n        null,\n        loginStatus.result.entry[key]\n      )];\n    });\n    var formattedEntry = attributes.length > 0 ? _react2['default'].createElement(\n      'dl',\n      null,\n      attributes\n    ) : _react2['default'].createElement(\n      'p',\n      null,\n      'LDAP server did not return any attributes for the user.'\n    );\n\n    var groups = loginStatus.result.groups ? loginStatus.result.groups.map(function (group) {\n      return _react2['default'].createElement(\n        'li',\n        { key: group },\n        group\n      );\n    }) : [];\n    var formattedGroups = groups.length > 0 ? _react2['default'].createElement(\n      'ul',\n      { style: { padding: 0 } },\n      groups\n    ) : _react2['default'].createElement(\n      'p',\n      null,\n      'LDAP server did not return any groups for the user.'\n    );\n\n    return _react2['default'].createElement(\n      _reactBootstrap.Row,\n      null,\n      _react2['default'].createElement(\n        _reactBootstrap.Col,\n        { sm: 9, smOffset: 3 },\n        _react2['default'].createElement(\n          _reactBootstrap.Panel,\n          { header: title, bsStyle: style, className: 'ldap-test-login-result' },\n          _react2['default'].createElement(\n            'ul',\n            { className: 'login-status' },\n            _react2['default'].createElement(\n              'li',\n              null,\n              _react2['default'].createElement(\n                'h4',\n                null,\n                'User found ',\n                userFound\n              )\n            ),\n            _react2['default'].createElement(\n              'li',\n              null,\n              _react2['default'].createElement(\n                'h4',\n                null,\n                'Login attempt ',\n                loginCheck\n              )\n            )\n          ),\n          serverResponse && _react2['default'].createElement(\n            'h4',\n            null,\n            'Server response'\n          ),\n          serverResponse,\n          _react2['default'].createElement(\n            'h4',\n            null,\n            'User\\'s LDAP attributes'\n          ),\n          formattedEntry,\n          _react2['default'].createElement(\n            'h4',\n            null,\n            'User\\'s LDAP groups'\n          ),\n          formattedGroups\n        )\n      )\n    );\n  },\n\n  render: function render() {\n    var loginStatus = this.state.loginStatus;\n    var loginDisabled = this.props.disabled || !this.state.loginUser || loginStatus.loading;\n\n    return _react2['default'].createElement(\n      'div',\n      null,\n      _react2['default'].createElement(\n        _reactBootstrap.Input,\n        { id: 'test_login_username', labelClassName: 'col-sm-3', wrapperClassName: 'col-sm-9', label: 'Login test',\n          help: 'Verify the previous settings by loading the entry for the given user name. If you omit the password, no authentication attempt will be made.' },\n        _react2['default'].createElement(\n          _reactBootstrap.Row,\n          { className: 'row-sm' },\n          _react2['default'].createElement(\n            _reactBootstrap.Col,\n            { sm: 5 },\n            _react2['default'].createElement('input', { type: 'text', id: 'test_login_username', name: 'test_login_username', className: 'form-control',\n              value: this.state.loginUser, onChange: this._changeLoginForm,\n              onKeyPress: this._disableSubmitOnEnter,\n              placeholder: 'Username for login test', disabled: this.props.disabled })\n          ),\n          _react2['default'].createElement(\n            _reactBootstrap.Col,\n            { sm: 5 },\n            _react2['default'].createElement('input', { type: 'password', id: 'test_login_password', name: 'test_login_password', className: 'form-control',\n              value: this.state.testLoginPassword, onChange: this._changeLoginForm,\n              onKeyPress: this._disableSubmitOnEnter,\n              placeholder: 'Password', disabled: this.props.disabled })\n          ),\n          _react2['default'].createElement(\n            _reactBootstrap.Col,\n            { sm: 2 },\n            _react2['default'].createElement(\n              _reactBootstrap.Button,\n              { bsStyle: this._loginTestButtonStyle(), disabled: loginDisabled,\n                onClick: this._testLogin },\n              loginStatus.loading ? 'Testing...' : 'Test login'\n            )\n          )\n        )\n      ),\n      this._formatLoginStatus(loginStatus)\n    );\n  }\n});\n\nexports['default'] = TestLdapLogin;\nmodule.exports = exports['default'];\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"TestLdapLogin.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/ldap/TestLdapLogin.jsx\n ** module id = 866\n ** module chunks = 27\n **/\n//# sourceURL=webpack:///./src/components/ldap/TestLdapLogin.jsx?")},983:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _reactRouterBootstrap = __webpack_require__(19);\n\nvar _utilDocsHelper = __webpack_require__(17);\n\nvar _utilDocsHelper2 = _interopRequireDefault(_utilDocsHelper);\n\nvar _routingRoutes = __webpack_require__(13);\n\nvar _routingRoutes2 = _interopRequireDefault(_routingRoutes);\n\nvar _componentsCommon = __webpack_require__(5);\n\nvar _componentsSupportDocumentationLink = __webpack_require__(24);\n\nvar _componentsSupportDocumentationLink2 = _interopRequireDefault(_componentsSupportDocumentationLink);\n\nvar _componentsLdapLdapComponent = __webpack_require__(863);\n\nvar _componentsLdapLdapComponent2 = _interopRequireDefault(_componentsLdapLdapComponent);\n\nvar LdapPage = _react2['default'].createClass({\n  displayName: 'LdapPage',\n\n  render: function render() {\n    return _react2['default'].createElement(\n      'span',\n      null,\n      _react2['default'].createElement(\n        _componentsCommon.PageHeader,\n        { title: 'LDAP Settings' },\n        _react2['default'].createElement(\n          'span',\n          null,\n          'This page is the only resource you need to set up the Graylog LDAP integration. You can test the connection to your LDAP server and even try to log in with an LDAP account of your choice right away.'\n        ),\n        _react2['default'].createElement(\n          'span',\n          null,\n          'Read more about LDAP configuration in the ',\n          _react2['default'].createElement(_componentsSupportDocumentationLink2['default'], { page: _utilDocsHelper2['default'].PAGES.USERS_ROLES, text: 'documentation' }),\n          '.'\n        ),\n        _react2['default'].createElement(\n          'span',\n          null,\n          _react2['default'].createElement(\n            _componentsCommon.IfPermitted,\n            { permissions: 'LDAPGROUPS_EDIT' },\n            _react2['default'].createElement(\n              _reactRouterBootstrap.LinkContainer,\n              { to: _routingRoutes2['default'].SYSTEM.LDAP.GROUPS },\n              _react2['default'].createElement(\n                _reactBootstrap.Button,\n                { bsStyle: 'info' },\n                'LDAP Group Mapping'\n              )\n            )\n          ),\n          ' ',\n          _react2['default'].createElement(\n            _componentsCommon.IfPermitted,\n            { permissions: 'USERS_LIST' },\n            _react2['default'].createElement(\n              _reactRouterBootstrap.LinkContainer,\n              { to: _routingRoutes2['default'].SYSTEM.USERS.LIST },\n              _react2['default'].createElement(\n                _reactBootstrap.Button,\n                { bsStyle: 'info' },\n                'Manage users'\n              )\n            )\n          )\n        )\n      ),\n      _react2['default'].createElement(\n        _reactBootstrap.Row,\n        { className: 'content' },\n        _react2['default'].createElement(\n          _reactBootstrap.Col,\n          { md: 12 },\n          _react2['default'].createElement(_componentsLdapLdapComponent2['default'], null)\n        )\n      )\n    );\n  }\n});\n\nexports['default'] = LdapPage;\nmodule.exports = exports['default'];\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"LdapPage.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-loader!./~/babel-loader!./src/pages/LdapPage.jsx\n ** module id = 983\n ** module chunks = 27\n **/\n//# sourceURL=webpack:///./src/pages/LdapPage.jsx?./~/react-hot-loader!./~/babel-loader")},1149:function(module,exports,__webpack_require__){eval("var refs = 0;\nvar dispose;\nvar content = __webpack_require__(566);\nif(typeof content === 'string') content = [[module.id, content, '']];\nexports.use = exports.ref = function() {\n	if(!(refs++)) {\n		exports.locals = content.locals;\n		dispose = __webpack_require__(29)(content, {});\n	}\n	return exports;\n};\nexports.unuse = exports.unref = function() {\n	if(!(--refs)) {\n		dispose();\n		dispose = null;\n	}\n};\nif(false) {\n	var lastRefs = module.hot.data && module.hot.data.refs || 0;\n	if(lastRefs) {\n		exports.ref();\n		if(!content.locals) {\n			refs = lastRefs;\n		}\n	}\n	if(!content.locals) {\n		module.hot.accept();\n	}\n	module.hot.dispose(function(data) {\n		data.refs = content.locals ? 0 : refs;\n		if(dispose) {\n			dispose();\n		}\n	});\n}\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/style-loader/useable.js!./~/css-loader!./src/components/ldap/TestLdapLogin.css\n ** module id = 1149\n ** module chunks = 27\n **/\n//# sourceURL=webpack:///./src/components/ldap/TestLdapLogin.css?./~/style-loader/useable.js!./~/css-loader")}});




© 2015 - 2024 Weber Informatics LLC | Privacy Policy