Commit Graph

4948 Commits

Author SHA1 Message Date
Boris Schrijver b1e5906923 CLOUDSTACK-8642: SSO Method not allowed bug fix. Due to CLOUDSTACK-8505 and commit 1c81b241e7
Signed-off-by: Daan Hoogland <daan@onecht.net>

This closes #598
2015-07-16 17:00:05 +02:00
Rohit Yadav 47d2d07eb9 CLOUDSTACK-8457: SAML UI Dialog fixes to use local $form
This uses local selector to access the DOM elements, the previous commit
would find a global element which is not in the context and fail changing the
element in the opened dialog.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #583
2015-07-15 18:36:46 +05:30
Rohit Yadav 76a10351a5 CLOUDSTACK-8457: SAML UI enhancements
Add option to authorize SAML SSO for user when adding user. Appends a domain to
user/account name if global setting is enabled, useful in case of multiple IDP
server. By default the setting is set to false (keep as it is).

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #575

(cherry picked from commit 7d11c7bc70)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-07-14 10:20:30 +05:30
Rohit Yadav 42940a8828 CLOUDSTACK-8622: Reinstate working sessions in browser
- Login is based on sessionkey HttpOnly Cookie
- ApiServlet does login verification using sessionKey from both the request cookies
  and the API parameters. In both cases, if either or both are passed they should
  match the sessionKey stored in the current session of the HttpRequest
- UI: it no longer needs to read or set sessionkey cookie
- UI: it no longer needs to return g_sessionKey value in the API requests, though
  to support a sso mechanism g_sessionKey is still passed in the API is not null
- Secure jsessionid cookie is set to be HttpOnly and Secure
- SAML login should also set HttpOnly cookie before redirecting to UI
- SAML: listIdps & getSPMetadata APIs are readonly now, won't log out a logged in user

Performed tests (login, saml login if applicable, page refreshes, opening
multiple tabs, logout) with following combinations:
- SAML disabled, normal auth as admin, domain-admin and user
- SAML enabled, normal auth as admin, domain-admin and user; and saml sso as
  admin, domain-admin and user

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #574
This closes #308
2015-07-10 17:25:07 +05:30
Rohit Yadav 7c206c30a5 CLOUDSTACK-8621: Allow UI plugins to be shown on navigation bar
Introduces a boolean option in UI plugins setting it to 'true' would display
the UI plugin on the left navigation bar.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #563
2015-07-09 15:25:13 +05:30
Rohit Yadav 107595a6a5 CLOUDSTACK-8457: SAML auth plugin improvements for production usage
* Move config options to SAML plugin
  This moves all configuration options from Config.java to SAML auth manager. This
  allows us to use the config framework.
* Make SAML2UserAuthenticator validate SAML token in httprequest
* Make logout API use ConfigKeys defined in saml auth manager
* Before doing SAML auth, cleanup local states and cookies
* Fix configurations in 4.5.1 to 4.5.2 upgrade path
* Fail if idp has no sso URL defined
* Add a default set of SAML SP cert for testing purposes
  Now to enable and use saml, one needs to do a deploydb-saml after doing a deploydb
* UI remembers login selections, IDP server

- CLOUDSTACK-8458:
    * On UI show dropdown list of discovered IdPs
    * Support SAML Federation, where there may be more than one IdP
        - New datastructure to hold metadata of SP or IdP
        - Recursive processing of IdP metadata
        - Fix login/logout APIs to get new interface and metadata data structure
        - Add org/contact information to metadata
        - Add new API: listIdps that returns list of all discovered IdPs
        - Refactor and cleanup code and tests

- CLOUDSTACK-8459:
    * Add HTTP-POST binding to SP metadata
    * Authn requests must use either HTTP POST/Artifact binding

- CLOUDSTACK-8461:
    * Use unspecified x509 cert as a fallback encryption/signing key
      In case a IDP's metadata does not clearly say if their certificates need to be
      used as signing or encryption and we don't find that, fallback to use the
      unspecified key itself.

- CLOUDSTACK-8462:
    * SAML Auth plugin should not do authorization
      This removes logic to create user if they don't exist. This strictly now
      assumes that users have been already created/imported/authorized by admins.
      As per SAML v2.0 spec section 4.1.2, the SP provider should create authn requests using
      either HTTP POST or HTTP Artifact binding to transfer the message through a
      user agent (browser in our case). The use of HTTP Redirect was one of the reasons
      why this plugin failed to work for some IdP servers that enforce this.
    * Add new User Source
      By reusing the source field, we can find if a user has been SAML enabled or not.
      The limitation is that, once say a user is imported by LDAP and then SAML
      enabled - they won't be able to use LDAP for authentication
    * UI should allow users to pass in domain they want to log into, though it is
      optional and needed only when a user has accounts across domains with same
      username and authorized IDP server
    * SAML users need to be authorized before they can authenticate
        - New column entity to track saml entity id for a user
        - Reusing source column to check if user is saml enabled or not
        - Add new source types, saml2 and saml2disabled
        - New table saml_token to solve the issue of multiple users across domains and
          to enforce security by tracking authn token and checking the samlresponse for
          the tokens
        - Implement API: authorizeSamlSso to enable/disable saml authentication for a
          user
        - Stubs to implement saml token flushing/expiry

- CLOUDSTACK-8463:
    * Use username attribute specified in global setting
      Use username attribute defined by admin from a global setting
      In case of encrypted assertion/attributes:
      - Decrypt them
      - Check signature if provided to check authenticity of message using IdP's
        public key and SP's private key
      - Loop through attributes to find the username

- CLOUDSTACK-8538:
    * Add new global config for SAML request sig algorithm

- CLOUDSTACK-8539:
    * Add metadata refresh timer task and token expiring
        - Fix domain path and save it to saml_tokens
        - Expire hour old saml tokens
        - Refresh metadata based on timer task
        - Fix unit tests

This closes #489

(cherry picked from commit 20ce346f3a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	client/WEB-INF/classes/resources/messages_hu.properties
	plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixCheckHealthCommandWrapper.java
	plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java
	ui/scripts/ui-custom/login.js
2015-06-29 12:31:51 +02:00
Erik Weber 5e96d13944 CLOUDSTACK-8455: Use the correct label to display extractable checkbox
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #471
2015-06-17 13:14:54 +02:00
Vadim Kimlaychuk 94f1ebb60a CLOUDSTACK-8231: Fixed UI empty drop-down list for LB rules
This closes #302

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-29 21:18:49 +02:00
Koushik Das 1cd2e9bc44 Merge branch 'CLOUDSTACK-8301' of https://github.com/apache/cloudstack 2015-05-22 09:47:59 +05:30
Vadim Kimlaychuk bede3a87ad CLOUDSTACK-8231: Fixed UI empty drop-down list for LB rules
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #271
2015-05-20 21:28:15 +01:00
Rajani Karuturi 8571314406 Fixed blocker issues reported by sonarqube in js files
All of them are trailing comma in array or object

more details @
https://analysis.apache.org/component_issues?id=org.apache.cloudstack%3Acloudstack#resolved=false|severities=BLOCKER|languages=js
2015-05-20 17:19:20 +05:30
ramamurtis 2148dca24b CLOUDSTACK-8301: Enable configuring local storage use for system VMs at zone level. This commit contains the UI changes for the feature.
Signed-off-by: Koushik Das <koushik@apache.org>

This closes #259
2015-05-19 21:53:24 +05:30
Erik Weber ab1df169f2 CLOUDSTACK-1667: Make a better description of the extractable flag
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #245
2015-05-12 12:51:56 +02:00
ramamurtis 5646a07513 CLOUDSTACK-8427: Some messages are hard-coded in javascript after Volume upload branch merge(0b835592)
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #208
2015-04-29 15:00:11 +05:30
Rajani Karuturi 0b8355920e Merge branch 'volume-upload' into master
This closes #206
2015-04-29 11:12:53 +05:30
Rajani Karuturi 5c152e5f3a volume upload: disabled all zones during template upload 2015-04-13 14:43:12 +05:30
Remi Bergsma a7f8059fd3 CLOUDSTACK-6543 Sort domain lists in UI
As recently discussed on the dev list:
This sorts the domain lists based on their path.
Especially handy when having a lot of domains,
like in a public cloud.
2015-04-12 23:21:43 -05:00
KC Wang 01864ef77c CLOUDSTACK-6697: bigswitch networking plugin update
1. provide compatibility with the Big Cloud Fabric (BCF) controller
   L2 Connectivity Service in both VPC and non-VPC modes
2. virtual network terminology updates: VNS --> BCF_SEGMENT
3. uses HTTPS with trust-always certificate handling
4. topology sync support with BCF controller
5. support multiple (two) BCF controllers with HA
6. support VM migration
7. support Firewall, Static NAT, and Source NAT with NAT enabled option
8. add VifDriver for Indigo Virtual Switch (IVS)

This closes #151

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-09 13:02:02 +05:30
Rohit Yadav 72430247ed CLOUDSTACK-8364: don't async poll for deleteVolume which is not an async API
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 1ef585f9e6)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-09 12:41:57 +05:30
Rohit Yadav 7144e9b35d CLOUDSTACK-8231: use hardcoded list of LB algorithms as backup
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 6f2facfa39)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-27 09:29:36 +05:30
Rohit Yadav 9763c9b84d CLOUDSTACK-7915: as a backup use hardcoded LB algorithms in UI
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 221e429b45)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-26 12:47:51 +05:30
Rohit Yadav 3c429ee6b5 Merge remote-tracking branch 'sbp/feature/persisten-systemvm-redundant-vpc-REBASE'
This closes #118

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-17 15:44:57 +05:30
Wei Zhou b6eace03e4 UI: Fix typo in ui/scripts/configuration.js
(cherry picked from commit 5a860fe0ae)
2015-03-16 12:58:50 +01:00
wilderrodrigues 05e4fe17e2 Show all routers of a VPC
- For redundant VPCs, we should see 2 routers
   - For single VPCs, we should see 1 router.
2015-03-16 11:39:59 +01:00
wilderrodrigues 4c9f4fcdd3 Make virtual router id unique per redundant group
Customise the messages showed during VPC restart based on redundancy
Do not show "Make Redundant" option if VPC is already redundant
Show on VPC details if a VPC is redundant
2015-03-16 11:39:58 +01:00
wilderrodrigues e350f1e76f Turn a single VPC into a redundant VPC
- when restarting a VPC, the user can check the option Make Redundant in order to change
    the VPC offering and make it redundant
2015-03-16 11:39:57 +01:00
wilderrodrigues 88129adac1 Implement the new VPC restart
- behaves just like network restart: if clean up is checked, all routers destroyed; if 1 router is gone and no
    clean up, only 1 new router created.
2015-03-16 11:39:52 +01:00
Antonio Fornie 09bd847040 Vpc redundancy enabled. Including Vpc & Vpc Offering creation. Marvin tests and UI. 2015-03-16 11:38:05 +01:00
Rohit Yadav 6c71d3bae1 ui: if session cookie exists, use it to set global session holder and invalidate it
The 19e3c0168e commit breaks SAML login and any
login where redirection is used.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit b79f13ccb5)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 15:02:27 +05:30
Jessica Wang a308f37232 CS-18149: UI - no longer store sessionKey in cookie. After
... this change, opening the 2nd browser window (of the same
domain) will show login screen (i.e. user has to enter
credentials again) and will cause the 1st browser window
session timeout.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 19e3c0168e)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 15:02:27 +05:30
Brian Federle 5608982c43 Fix encoding for user account label in header
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit bfcdbeca29)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 15:02:26 +05:30
Funs c27c69438b hypervisors: add OVM3 plugin that supports OVM 3.2.1/3.3.x
This is a plugin that puts in ovm3 support ranging from 3.3.1 to 3.3.2. Basic
functionality is in here, advanced networking etc..

Snapshots only work when a VM is stopped now due to the semantics of OVM's raw
image implementation (so snapshots should work on a storage level underneath the
hypervisor shrug)

This closes #113

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-12 11:33:42 +05:30
Rohit Yadav 40f343ff4c api: avoid sending sensitive data in api response
- UI: use post when updating user
- S3: don't send s3 key in the response
- VPN: don't send preshared key in remoteaccessvpn api response
- Snapshot response should set zone id not volume's device id

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 02cadc3fb3)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-11 16:34:56 +05:30
ramamurtis 8591383bcc CLOUDSTACK-8307: UI not showing all Domains, if there are more than 24 domains then the last domain gets cut off on firefox and IE. Added a flag in treeview widget and based on the flag adding css class which will make overflow as scroll instead of the default auto.
Fixes #101

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-09 14:26:29 +05:30
Pierre-Luc Dion e86c7a2a9a CLOUDSTACK-1359: add UI information about GB definition 2015-03-08 22:48:28 -04:00
Pierre-Luc Dion 002236e489 CLOUDSTACK-2100: vm snapshot tooltips 2015-03-07 23:59:27 -05:00
ramamurtis da1d8f9dce volume upload: fixed the UI after the change to move params to header.
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2015-02-27 17:40:06 +05:30
Rohit Yadav e1827fc696 CLOUDSTACK-8285: check and update IP capacity states based on allocation state
- Backend should update if state was diabled and now has changed
- UI's fetch latest does not actually fetch latest

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 985a61652e)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-25 16:47:40 +05:30
Pierre-Luc Dion db9a4f3648 fix CLOUDSTACK-8187 and CLOUDSTACK-8232: missing UI labels 2015-02-19 22:39:56 -05:00
Pierre-Luc Dion 0c70d11bc3 CLOUDSTACK-8188: missing labe:label.password.reset.confirm 2015-02-19 22:37:12 -05:00
Rohit Yadav 39dce59562 CLOUDSTACK-6541: Fix monthly recurring snapshot UI limit, limit to 1-28 days
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 070813a106)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-19 15:42:53 +05:30
Rohit Yadav d82879e548 CLOUDSTACK-5824: poll for delete snapshot and volume events
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit a85aea74de)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-19 15:34:16 +05:30
Rajani Karuturi 41382f6f04 Volume upload: state goes to " UploadAbandoned " state when uploaded thru UI. 2015-02-17 11:52:35 +05:30
ramamurtis d363b2afce CLOUDSTACK-8246: Add Cluster - Guest traffic label displayed Incorrectly 2015-02-12 13:35:58 +05:30
ramamurtis 2e5c1614ed CLOUDSTACK-8245: Scrolling down the network service providers list from the UI never ends 2015-02-12 13:28:16 +05:30
Rohit Yadav 008911d4b1 CLOUDSTACK-8195: Don't break IdP, return metadata XML
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 1172867df0)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-03 17:05:29 +05:30
Rohit Yadav 552f2ae60c CLOUDSTACK-8191: SAML users should have their own accounts
(cherry picked from commit 876c78fe1b)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-02 19:58:10 +05:30
Rohit Yadav 2f6691c6b9 CLOUDSTACK-8190: Fix xenserver traffic label for backward compatiblity
(cherry picked from commit 48ec9ac11b)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	ui/scripts/system.js
2015-02-02 16:20:50 +05:30
Jessica Wang 31dea7de2e volume-upload: UI > dialog widget - args.form.fileUpload.postUpload - fix a bug that loading image (spinning wheel, freezing screen) does not disappear after action succeeds/fails. 2015-01-30 17:08:21 -08:00
Jessica Wang a696947eaf CLOUDSTACK-8182: UI > volumes > upload volume from URL > add Custom Disk Offering field which is optional. 2015-01-26 16:36:26 -08:00